版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、JAVA經(jīng)典編程50題初學JAVA堅持做完,JAVA完全可以入門,每天做4-5題就可以答案是本人自己做的,才初學淺,若有問題還希望有及時指出,感激不盡聯(lián)系QQ:1345523590 網(wǎng)名:叫我雷鋒【程序1】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?package java50;public class Java1 /* * param 算法50題第一題。兔子問題,問題分析是一個斐波納契數(shù)列,本題應該說有多種方法,我只寫了其中一個,你自己可以試試用數(shù)組的方法,還有遞歸都可以。 */publi
2、c static void main(String args) / TODO Auto-generated method stub/已經(jīng)知道一月和二月的兔子數(shù)int a1=1;int a2=1;int a3,a4;/打印一二月的兔子數(shù)System.out.print(a1+ +a2);/從3月開始,到十二月的兔子數(shù)for(int i=3;i=12;i+)a3=a1+a2;a1=a2;a2=a3;/打印每個月的兔子數(shù)System.out.print( +a3);【程序2】題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。 程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),
3、如果能被整除, 則表明此數(shù)不是素數(shù),反之是素數(shù)。package java50;import java.util.*;public class Java2 /* * param args * 求101到200之間的素數(shù) * 素數(shù)是它除以2到sqr本身的數(shù),沒有能夠整除他的 */public Java2()public void su(int a)public static void main(String args) / TODO Auto-generated method stubint a=new int 100; for(int i=100;i201;i+)for(int j=0;ja.l
4、ength;j+)aj=i;break;Java2 j2=new Java2();j2.su(a);【程序3】題目:打印出所有的 水仙花數(shù) ,所謂 水仙花數(shù) 是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個 水仙花數(shù) ,因為153=1的三次方5的三次方3的三次方。package java50;public class Java3 /* * 【程序3】題目:打印出所有的 水仙花數(shù) , * 所謂 水仙花數(shù) 是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。 * 例如:153是一個 水仙花數(shù) , * 因為153=1的三次方5的三次方3的三次方。 */public static void
5、main(String args) / TODO Auto-generated method stubfor(int i=101;i1000;i+)int a=i%10;int b=(i/10)%10;int c=i/100;/System.out.print(a+b+c);if(i=a*a*a+b*b*b+c*c*c)System.out.println(i);【程序4】題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進行分解質(zhì)因數(shù),應先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結束,打印出即可。(
6、2)如果n k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步。package java50;import java.util.Scanner;public class Java4 /* * 程序4】題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。 * 程序分析:對n進行分解質(zhì)因數(shù),應先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成: * (1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結束,打印出即可。 * (2)如果n k,但n能被k整除,則應打印出k的值,并用
7、n除以k的商,作為新的正整數(shù)你n,重復執(zhí)行第一步。 * (3)如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步。 */public static void main(String args) / TODO Auto-generated method stubScanner s=new Scanner(System.in);int n=s.nextInt();int k=2;while(n=k)if(n=k)System.out.println(k);break;elseif(n%k=0)System.out.print(k+*);n=n/k;elsek+;【程序5】題目:利用條件運算符
8、的嵌套來完成此題:學習成績 =90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。package java50;public class Java5 /* * 【程序5】 * 題目:利用條件運算符的嵌套來完成此題: * 學習成績 =90分的同學用A表示, * 60-89分之間的用B表示,60分以下的用C表示。 */public static void main(String args) / TODO Auto-generated method stubint c=80;char cj=(c=90)?A:(c=60)?B:C;System.out.println(cj);【程
9、序6】題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。/*在循環(huán)中,只要除數(shù)不等于0,用較大數(shù)除以較小的數(shù),將小的一個數(shù)作為下一輪循環(huán)的大數(shù),取得的余數(shù)作為下一輪循環(huán)的較小的數(shù),如此循環(huán)直到較小的數(shù)的值為0,返回較大的數(shù),此數(shù)即為最大公約數(shù),最小公倍數(shù)為兩數(shù)之積除以最大公約數(shù)。* /import java.util.*;public class lianxi06 public static void main(String args) int a ,b,m;Scanner s = new Scanner(System.in);System.out.print( 鍵入一個整數(shù): ); a
10、 = s.nextInt();System.out.print( 再鍵入一個整數(shù): ); b = s.nextInt(); deff cd = new deff(); m = cd.deff(a,b); int n = a * b / m; System.out.println(最大公約數(shù): + m); System.out.println(最小公倍數(shù): + n); class deffpublic int deff(int x, int y) int t; if(x =a & aa=A & aa=0 & aa=9)sz+;else qt+;/輸出結果System.out.println(字母
11、有 +zm+個;);System.out.println(空格有 +kg+個;);System.out.println(數(shù)字有 +sz+個;);System.out.println(其它字符 +qt+個。);【程序8】題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。package java50;import java.util.Scanner;public class Java8 /* *【程序8】 *題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。 *例如2
12、+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。 */public static void main(String args) / TODO Auto-generated method stubScanner ss=new Scanner(System.in);System.out.println(請輸入a的值:);int a=ss.nextInt();System.out.println(請輸入有幾個數(shù)相加:);int g=ss.nextInt();int s=0;for(int i=1;i=g;i+)s=s+a;/System.out.print(a=+a
13、+ );a=a*10+2;/System.out.print(s=+s+ );/System.out.println(2+22+222+2222+22222);System.out.println(結果是+s);【程序9】題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為 完數(shù) 。例如6=123.編程 找出1000以內(nèi)的所有完數(shù)。package java50;public class Java9 /* * 【程序9】 * 題目:一個數(shù)如果恰好等于它的因子之和, * 這個數(shù)就稱為 完數(shù) 。例如6=123.編程 * 找出1000以內(nèi)的所有完數(shù)。 */public static void main(
14、String args) / TODO Auto-generated method stubfor(int i=6;i1000;i+)int h=0;for(int j=1;j=i;j+)if(i%j=0)/if(h!=0)System.out.print(h+);h=h+j;if(h=i)System.out.println(i);/6=1x2x3;/24=1x2x3x4;/28=1x2x4x7x14【程序10】題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時,共經(jīng)過多少米?第10次反彈多高? package java50;public clas
15、s Java10 /* * 【程序10】題目:一球從100米高度自由落下, 每次落地后反跳回原高度的一半;再落下,求它在 * 第10次落地時,共經(jīng)過多少米?第10次反彈多高? * s=299.609375h=0.09765625 */public static void main(String args) / TODO Auto-generated method stubdouble h = 100;double s = 0;for (int i = 1; i = 10; i+) if (i = 1) s = 100;System.out.println(s); else s = s + h
16、* 2;System.out.println(s);h = h / 2;System.out.println(h);System.out.println(s= + s);System.out.println(第十次反彈 + h + 米);【程序11】題目:有1、2、3、4四個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?都是多少?package java50;public class Java11 /* * 【程序11】題目:有1、2、3、4四個數(shù)字, * 能組成多少個互不相同且無重復數(shù)字的三位數(shù)?都是多少? */public static void main(String args) /
17、TODO Auto-generated method stubint s=0;for(int a=1;a5;a+)for(int b=1;b5;b+)for(int c=1;c5;c+)for(int d=1;d10)if(lr20)if(lr40)if(lr60)if(lr100)System.out.println(10*0.1+(10*0.075)+(20*0.05)+(20*0.03)+(40*0.015)+(lr-100)*0.01);elseSystem.out.println(10*0.1+(10*0.075)+(20*0.05)+(20*0.03)+(lr-60)*0.015)
18、;elseSystem.out.println(10*0.1+(10*0.075)+(20*0.05)+(lr-40)*0.03);elseSystem.out.println(10*0.1+(10*0.075)+(lr-20)*0.05);elseSystem.out.println(10*0.1+(lr-10)*0.075);elseSystem.out.println(0.1*lr);【程序13】題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?package java50;public class Java13 /* * 【程序13】 *
19、題目:一個整數(shù),它加上100后是一個完全平方數(shù), * 再加上168又是一個完全平方數(shù), * 請問該數(shù)是多少? */public static void main(String args) / TODO Auto-generated method stub/做一個循環(huán)找小于100000之間的數(shù)for(double i=-100;i100000;i+)/如果這個數(shù)的開方%1=0,說明這個數(shù)的開方是個整數(shù)if(Math.sqrt(i+100)%1=0)if(Math.sqrt(i+268)%1=0)System.out.println(int)i);/*按題意循環(huán)應該從-100開始(整數(shù)包括正整數(shù)、
20、負整數(shù)、零),這樣會多一個滿足條件的數(shù)-99。但是我看到大部分人解這道題目時都把題中的“整數(shù)”理解成正整數(shù),我也就隨大流了。*/【程序14】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?package java50;import java.util.Scanner;public class Java14 /* * 【程序14】 * 題目:輸入某年某月某日,判斷這一天是這一年的第幾天? */public static void main(String args) / TODO Auto-generated method stubScanner s=new Scanner(System.in
21、);System.out.println(請輸入年份:);int year=s.nextInt();System.out.println(請輸入月份:);int month=s.nextInt();System.out.println(請輸入幾號:);int day=s.nextInt();int d=0; if (year 0 | month 12 | day 31) System.out.println(輸入錯誤,請重新輸入!);System.exit(0);for(int i=1;ib)int temp;temp=a;a=b;b=temp;if(ac)int temp;temp=a;a=
22、c;c=temp;if(bc)int temp;temp=b;b=c;c=temp;System.out.println(a+ +b+ +c); public static void main(String args) / TODO Auto-generated method stubJava15 ja=new Java15();ja.bj(5200, 172, 600);【程序16】題目:輸出9*9口訣。package java50;public class Java16 /* * 【程序16】題目:輸出9*9口訣。 */public Java16()public void fa()for(
23、int i=1;i=9;i+)for(int j=1;j1 & j*i0;i-)ai-1=(ai+1)*2+1;if(i=1)System.out.println(第一天共摘了+a0+個);int i=1;/for(int aa:a)System.out.println(第+i+天有+aa+個);【程序18】題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。package java50;public class Java18 /* * 【程序18】題目:
24、兩個乒乓球隊進行比賽,各出三人。 * 甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。 * 有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比, * 請編程序找出三隊賽手的名單。 * */public static void main(String args) / TODO Auto-generated method stub /對程序要進行分析,發(fā)現(xiàn)其中的約束條件char j=a,b,c; char y=x,y,z; for(int i=0;ij.length;i+) for(int k=0;ky.length;k+) if(ji=a & yk=x) continu
25、e; else if(ji=c & yk=x |ji=c & yk=z) continue; else if(ji=a & yk=y |ji=b & yk=z |ji=b & yk=y) continue; else System.out.println(ji+ vs +yk); 【程序19】題目:打印出如下圖案(菱形) * * * * * *package java50;public class Java19 /* * 【程序19】題目:打印出如下圖案(菱形) * * * * * * * * * * * * * * */public static void main(String args)
26、 / TODO Auto-generated method stubfor(int i=1;i=i;k-)System.out.print( );for(int j=1;j0;i-)for(int k=3-i;k=0;k-)System.out.print( );for(int j=2*i-1;j0;j-)System.out.print(*);System.out.println();【程序20】題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.求出這個數(shù)列的前20項之和。package java50;public class Java20 /* * 【程序20】 *
27、 題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13. * 求出這個數(shù)列的前20項之和。 * m/n m+n/m * */public static void main(String args) / TODO Auto-generated method stubdouble m=2;double n=1;double s=0;for(int i=1;i=20;i+)s=s+m/n;/System.out.println(di+s+ +m+/+n);double temp;temp=m;m=m+n;n=temp;System.out.println(m+/+n);【程序21
28、】題目:求1+2!+3!+.+20!的和package java50;public class Java21 /* * 【程序21】 * 題目:求1+2!+3!+.+20!的和 */public static void main(String args) / TODO Auto-generated method stubint sum=0;for(int j=1;j=20;j+)int s=1;for(int i=1;i=j;i+)s=s*i;sum=sum+s;System.out.println(1+2!+3!+.+20!=+sum);【程序22】題目:利用遞歸方法求5!。package
29、java50;public class Java22 /* * 【程序22】題目:利用遞歸方法求5!。 */public static void main(String args) / TODO Auto-generated method stubSystem.out.println(di(5);public static int di(int a)long l=0;int n=0;if(a=1)return 1;elsereturn a*di(a-1);【程序23】題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大
30、兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?package java50;public class Java23 /* * 【程序23】題目:有5個人坐在一起,問第五個人多少歲? * 他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。 * 問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。 * 最后問第一個人,他說是10歲。請問第五個人多大? */ public static void main(String args) / TODO Auto-generated method stub/兩種方法int a=new int5;a
31、0=10;for(int i=1;i0)System.out.print(m%10);m=m/10;wei+;System.out.println();System.out.println(n+是一個+wei+數(shù)。);【程序25】題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。package java50;import java.util.Scanner;public class Java25_1 /* * param 輸入任意位數(shù) * ,判斷是不是回文 */public static void main(String args) / TODO Au
32、to-generated method stub/ 輸入一個數(shù),這次我們?nèi)ong形Scanner s = new Scanner(System.in);System.out.println(請輸入一個數(shù));long n = s.nextLong();/ 將long轉(zhuǎn)換為StringString ss = n + ;/ 將String轉(zhuǎn)換為數(shù)組cchar c = ss.toCharArray();/ 進行判斷boolean b = false;for (int i = 0; i = c.length / 2; i+) if (ci = cc.length - 1 - i) b = true;
33、else b = false;break;if (b = true) System.out.println(n + 是回文); else System.out.println(n + 不是回文);【程序26】題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù) 判斷第二個字母。package java50;import java.util.*;import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;public class Java26 /* * 【程序26】 * 題目:請輸入星期幾的第一
34、個字母來判斷一下是星期幾, * 如果第一個字母一樣,則繼續(xù) 判斷第二個字母。 * 周一:Monday 周二:Tuesday 周三:Wendesday * 周四:Thursday 周五:Friday 周六:Saturday 周日:Sunday */public static void main(String args) / TODO Auto-generated method stub/輸入一個字母Scanner s=new Scanner(System.in);System.out.println(請輸入一個大寫字母:);String n=s.next();switch(n)case M:Sy
35、stem.out.println(星期一);break;case T:System.out.println(請再輸入一個字母:);String n2=s.next();switch(n2)case U:System.out.println(星期二);break;case H:System.out.println(星期四);break;default :System.out.println(輸入有誤);break;case W:System.out.println(星期三);break;case F:System.out.println(星期五);break;case S:System.out.println(請再輸入一個字母:);String n3=s.next();switch(n3)case A:System.out.println(星期六);break;case
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆浙江省樂清市知臨中學高一物理第一學期期中聯(lián)考模擬試題含解析
- 新疆昌吉市教育共同體四校2025屆物理高一上期末達標檢測模擬試題含解析
- 2025屆江蘇省江陰初級中學高一物理第一學期期末統(tǒng)考模擬試題含解析
- 2025屆山西省呂梁地區(qū)物理高二上期中考試試題含解析
- 臨沂市重點中學2025屆物理高一第一學期期中綜合測試模擬試題含解析
- 2025屆天津市薊州區(qū)馬伸橋中學物理高一上期中聯(lián)考模擬試題含解析
- 黑龍江省鶴崗市工農(nóng)區(qū)鶴崗一中2025屆物理高三上期末調(diào)研試題含解析
- 2025屆貴州省黔西南州興仁市鳳凰中學高三上物理期中達標測試試題含解析
- 2025屆江西省上饒市橫峰中學、鉛山一中、余干一中物理高一第一學期期末復習檢測模擬試題含解析
- 江蘇省鹽城市示范名校2025屆高三物理第一學期期中考試試題含解析
- 人教部編版七年級歷史上冊第19課 北魏政治和北方民族大交融課件(23張PPT)
- 機械設備定期檢查維修保養(yǎng)使用臺賬
- 麗聲北極星分級繪本第四級上 Stop!Everyone Stop!教學設計
- 小學科學教育科學三年級上冊天氣《認識氣溫計》教學設計
- 希爾頓酒店市場營銷環(huán)境的swot分析 2
- 消化道穿孔課件
- 液化氣站氣質(zhì)分析報告管理制度
- 可編輯修改中國地圖模板
- 水務集團有限公司檔案管理制度資料
- 為先祖立碑祭文五篇
- DBJ50T-232-2016 建設工程監(jiān)理工作規(guī)程
評論
0/150
提交評論