




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2017年java基礎(chǔ)編程經(jīng)典練習(xí)題50道【程序1】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?/這是一個菲波拉契數(shù)列問題publicclasslianxi01publicstaticvoidmain(stringargs)system.out.println(第1個月的兔子對數(shù):1);system.out.println(第2個月的兔子對數(shù):1);intf1=1,f2=1,f,m=24;for(inti=3;i=m;i+)f=f2;f2=f1+f2;f1=f;system.out.prin
2、tln(第+i+個月的兔子對數(shù):+f2);【程序2】題目:判斷101-200之間有多少個素?cái)?shù),并輸出所有素?cái)?shù)。程序分析:判斷素?cái)?shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。publicclasslianxi02publicstaticvoidmain(stringargs)intcount=0;for(inti=101;i200;i+=2)booleanb=false;for(intj=2;j=math.sqrt(i);j+)if(i%j=0)b=false;break;elseb=true;if(b=true)count+;system.ou
3、t.println(i);system.out.println(素?cái)?shù)個數(shù)是:+count);【程序3】題目:打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個水仙花數(shù),因?yàn)?53=1的三次方5的三次方3的三次方。publicclasslianxi03精選publicstaticvoidmain(stringargs)intb1,b2,b3;for(intm=101;m1000;m+)b3=m/100;b2=m%100/10;b1=m%10;if(b3*b3*b3+b2*b2*b2+b1*b1*b1)=m)system.out.println(m+
4、是一個水仙花數(shù));【程序4】題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。(2)如果nk,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。importjava.util.*;publicclasslianxi04publicstaticvoidmain(stringargs)scanners=newscanner(sy
5、stem.in);system.out.print(請鍵入一個正整數(shù):);intn=s.nextint();intk=2;system.out.print(n+=);while(k=90分的同學(xué)用a表示,60-89分之間的用b表示,60分以下的用c表示。importjava.util.*;publicclasslianxi05publicstaticvoidmain(stringargs)intx;chargrade;scanners=newscanner(system.in);system.out.print(請輸入一個成績:);x=s.nextint();精選grade=x=90?a:x=
6、60?b:c;system.out.println(等級為:+grade);【程序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ù)。*/importjava.util.*;publicclasslianxi06publicstaticvoidmain(stringargs)inta,b,m;scanners=newscanner(system.in);system
7、.out.print(鍵入一個整數(shù):);a=s.nextint();system.out.print(再鍵入一個整數(shù):);b=s.nextint();deffcd=newdeff();m=cd.deff(a,b);intn=a*b/m;system.out.println(最大公約數(shù):+m);system.out.println(最小公倍數(shù):+n);classdeffpublicintdeff(intx,inty)intt;if(xy)t=x;x=y;y=t;while(y!=0)if(x=y)returnx;elseintk=x%y;x=y;y=k;精選returnx;【程序7】題目:輸入一
8、行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。packagewuyang;importjava.util.*;publicclasslianxi07publicstaticvoidmain(stringargs)intabccount=0;/英文字母個數(shù)intspacecount=0;/空格鍵個數(shù)intnumcount=0;/數(shù)字個數(shù)intothercount=0;/其他字符個數(shù)scannerscan=newscanner(system.in);/掃描器接受控制臺的輸入信息system.out.println(輸入一組字符);stringstr=scan.nextline();/
9、取出控制臺的一行信息,也就是你輸入的信息charch=str.tochararray();/把取道的字符串變成一個char數(shù)組for(inti=0;ich.length;i+)if(character.isletter(chi)/判斷是否字母abccount+;elseif(character.isdigit(chi)/判斷是否數(shù)字numcount+;elseif(character.isspacechar(chi)/判斷是否空格鍵spacecount+;else/以上都不是則認(rèn)為是其他字符othercount+;system.out.println(字母個數(shù):+abccount);syste
10、m.out.println(數(shù)字個數(shù):+numcount);system.out.println(空格個數(shù):+spacecount);system.out.println(其他字符個數(shù):+othercount);【程序8】精選題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。importjava.util.*;publicclasslianxi08publicstaticvoidmain(stringargs)longa,b=0,sum=0;scanners=newscanner(sy
11、stem.in);system.out.print(輸入數(shù)字a的值:);a=s.nextint();system.out.print(輸入相加的項(xiàng)數(shù):);intn=s.nextint();inti=0;while(in)b=b+a;sum=sum+b;a=a*10;+i;system.out.println(sum);【程序9】題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為完數(shù)。例如6=123.編程找出1000以內(nèi)的所有完數(shù)。publicclasslianxi09publicstaticvoidmain(stringargs)system.out.println(1到1000的完數(shù)有:);
12、for(inti=1;i1000;i+)intt=0;for(intj=1;j=i/2;j+)if(i%j=0)t=t+j;if(t=i)system.out.print(i+);【程序10】題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過多少米?第10次反彈多高?publicclasslianxi10精選publicstaticvoidmain(stringargs)doubleh=100,s=0;for(inti=1;i=10;i+)s=s+2*h;h=h/2;s=s-100;system.out.println(經(jīng)過路程:+s);sys
13、tem.out.println(最后高度:+h);【程序11】題目:有1、2、3、4四個數(shù)字,能組成多少個互不相同且一個數(shù)字中無重復(fù)數(shù)字的三位數(shù)?并把他們都輸入。publicclasslianxi11publicstaticvoidmain(stringargs)intcount=0;for(intx=1;x5;x+)for(inty=1;y5;y+)for(intz=1;z0&x10&x20&x40&x60&x100)y=20*0.175+40*0.08+40*0.015+(x-100)*0.01;system.out.println(應(yīng)該提取的獎金是+y+萬);【程序13】題目:一個整數(shù),
14、它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?publicclasslianxi13publicstaticvoidmain(stringargs)for(intx=1;x100000;x+)if(math.sqrt(x+100)%1=0)if(math.sqrt(x+168)%1=0)system.out.println(x+加100是一個完全平方數(shù),再加168又是一個完全平方數(shù));/*按題意循環(huán)應(yīng)該從-100開始(整數(shù)包括正整數(shù)、負(fù)整數(shù)、零),這樣會多一個滿足條件的數(shù)-99。但是我看到大部分人解這道題目時(shí)都把題中的“整數(shù)”理解成正整數(shù),我也就隨大流了。*/
15、【程序14】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?importjava.util.*;publicclasslianxi14publicstaticvoidmain(stringargs)intyear,month,day;intdays=0;intd=0;inte;精選inputfymd=newinput();doe=0;system.out.print(輸入年:);year=fymd.input();system.out.print(輸入月:);month=fymd.input();system.out.print(輸入天:);day=fymd.input();if(year
16、0|month12|day31)system.out.println(輸入錯誤,請重新輸入!);e=1;while(e=1);for(inti=1;iy)intt=x;x=y;y=t;if(xz)intt=x;x=z;z=t;if(yz)intt=y;y=z;z=t;system.out.println(三個數(shù)字由小到大排列為:+x+y+z);classinputpublicintinput()intvalue=0;scanners=newscanner(system.in);精選value=s.nextint();returnvalue;【程序16】題目:輸出9*9口訣。publicclas
17、slianxi16publicstaticvoidmain(stringargs)for(inti=1;i10;i+)for(intj=1;j=i;j+)system.out.print(j+*+i+=+j*i+);if(j*i10)system.out.print();system.out.println();【程序17】題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時(shí),見只剩下一個桃子了。求第一天共摘了多少。publicclasslianxi17p
18、ublicstaticvoidmain(stringargs)intx=1;for(inti=2;i=10;i+)x=(x+1)*2;system.out.println(猴子第一天摘了+x+個桃子);【程序18】題目:兩個乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為a,b,c三人,乙隊(duì)為x,y,z三人。已抽簽決定比賽名單。有人向隊(duì)員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊(duì)賽手的名單。publicclasslianxi18staticcharm=a,b,c;staticcharn=x,y,z;publicstaticvoidmain(stringargs)for(inti=0
19、;im.length;i+)for(intj=0;jn.length;j+)if(mi=a&nj=x)continue;elseif(mi=a&nj=y)continue;精選elseif(mi=c&nj=x)|(mi=c&nj=z)continue;elseif(mi=b&nj=z)|(mi=b&nj=y)continue;elsesystem.out.println(mi+vs+nj);【程序19】題目:打印出如下圖案(菱形)*publicclasslianxi19publicstaticvoidmain(stringargs)inth=7,w=7;/高和寬必須是相等的奇數(shù)for(inti
20、=0;i(h+1)/2;i+)for(intj=0;jw/2-i;j+)system.out.print();for(intk=1;k(i+1)*2;k+)system.out.print(*);system.out.println();for(inti=1;i=h/2;i+)for(intj=1;j=i;j+)system.out.print();for(intk=1;k=w-2*i;k+)system.out.print(*);system.out.println();精選【程序20】題目:有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.求出這個數(shù)列的前20項(xiàng)之和。pu
21、blicclasslianxi20publicstaticvoidmain(stringargs)intx=2,y=1,t;doublesum=0;for(inti=1;i=20;i+)sum=sum+(double)x/y;t=y;y=x;x=y+t;system.out.println(前20項(xiàng)相加之和是:+sum);【程序21】題目:求1+2!+3!+.+20!的和publicclasslianxi21publicstaticvoidmain(stringargs)longsum=0;longfac=1;for(inti=1;i=20;i+)fac=fac*i;sum+=fac;syst
22、em.out.println(sum);【程序22】題目:利用遞歸方法求5!。publicclasslianxi22publicstaticvoidmain(stringargs)intn=5;recfr=newrec();system.out.println(n+!=+fr.rec(n);classrecpubliclongrec(intn)精選longvalue=0;if(n=1)value=1;elsevalue=n*rec(n-1);returnvalue;【程序23】題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說
23、比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?publicclasslianxi23publicstaticvoidmain(stringargs)intage=10;for(inti=2;i=0;i-)system.out.print(chi);【程序25】題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千精選位相同。importjava.util.*;publicclasslianxi25publicstaticvoidmain(stringargs)scanners=newscanner(system.i
24、n);inta;dosystem.out.print(請輸入一個5位正整數(shù):);a=s.nextint();while(a99999);stringss=string.valueof(a);charch=ss.tochararray();if(ch0=ch4&ch1=ch3)system.out.println(這是一個回文數(shù));elsesystem.out.println(這不是一個回文數(shù));/這個更好,不限位數(shù)importjava.util.*;publicclasslianxi25apublicstaticvoidmain(stringargs)scanners=newscanner(s
25、ystem.in);booleanis=true;system.out.print(請輸入一個正整數(shù):);longa=s.nextlong();stringss=long.tostring(a);charch=ss.tochararray();intj=ch.length;for(inti=0;ij/2;i+)if(chi!=chj-i-1)is=false;if(is=true)system.out.println(這是一個回文數(shù));elsesystem.out.println(這不是一個回文數(shù));【程序26】題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判斷第
26、二個字母。importjava.util.*;publicclasslianxi26publicstaticvoidmain(stringargs)getchartw=newgetchar();system.out.println(請輸入星期的第一個大寫字母:);charch=tw.getchar();精選switch(ch)casem:system.out.println(monday);break;casew:system.out.println(wednesday);break;casef:system.out.println(friday);break;caset:system.out
27、.println(請輸入星期的第二個字母:);charch2=tw.getchar();if(ch2=u)system.out.println(tuesday);elseif(ch2=h)system.out.println(thursday);elsesystem.out.println(無此寫法!);break;cases:system.out.println(請輸入星期的第二個字母:);charch2=tw.getchar();if(ch2=u)system.out.println(sunday);elseif(ch2=a)system.out.println(saturday);els
28、esystem.out.println(無此寫法!);break;default:system.out.println(無此寫法!);classgetcharpublicchargetchar()scanners=newscanner(system.in);stringstr=s.nextline();charch=str.charat(0);if(chz)system.out.println(輸入錯誤,請重新輸入);ch=getchar();returnch;精選【程序27】題目:求100之內(nèi)的素?cái)?shù)/使用除sqrt(n)的方法求出的素?cái)?shù)不包括2和3publicclasslianxi27pub
29、licstaticvoidmain(stringargs)booleanb=false;system.out.print(2+);system.out.print(3+);for(inti=3;i100;i+=2)for(intj=2;j=math.sqrt(i);j+)if(i%j=0)b=false;break;elseb=true;if(b=true)system.out.print(i+);/該程序使用除1位素?cái)?shù)得2位方法,運(yùn)行效率高通用性差。publicclasslianxi27apublicstaticvoidmain(stringargs)inta=newint2,3,5,7;f
30、or(intj=0;j4;j+)system.out.print(aj+);booleanb=false;for(inti=11;i100;i+=2)for(intj=0;j4;j+)if(i%aj=0)b=false;break;elseb=true;if(b=true)system.out.print(i+);【程序28】題目:對10個數(shù)進(jìn)行排序importjava.util.*;publicclasslianxi28publicstaticvoidmain(stringargs)scanners=newscanner(system.in);inta=newint10;system.out
31、.println(請輸入10個整數(shù):);for(inti=0;i10;i+)精選ai=s.nextint();for(inti=0;i10;i+)for(intj=i+1;jaj)intt=ai;ai=aj;aj=t;for(inti=0;i10;i+)system.out.print(ai+);【程序29】題目:求一個3*3矩陣對角線元素之和importjava.util.*;publicclasslianxi29publicstaticvoidmain(stringargs)scanners=newscanner(system.in);inta=newint33;system.out.pr
32、intln(請輸入9個整數(shù):);for(inti=0;i3;i+)for(intj=0;j3;j+)aij=s.nextint();system.out.println(輸入的3*3矩陣是:);for(inti=0;i3;i+)for(intj=0;j3;j+)system.out.print(aij+);system.out.println();intsum=0;for(inti=0;i3;i+)for(intj=0;j=aa.length-1)bb.length-1=num;for(i=0;ia.length;i+)bi=ai;elsefor(i=0;i=ai)bi=ai;elsebi=n
33、um;break;for(intj=i+1;jb.length;j+)bj=aj-1;for(i=0;ib.length;i+)system.out.print(bi+);精選【程序31】題目:將一個數(shù)組逆序輸出。importjava.util.*;publicclasslianxi31publicstaticvoidmain(stringargs)scanners=newscanner(system.in);inta=newint20;system.out.println(請輸入多個正整數(shù)(輸入-1表示結(jié)束):);inti=0,j;doai=s.nextint();i+;while(ai-1
34、!=-1);system.out.println(你輸入的數(shù)組為:);for(j=0;j=0;j=j-1)system.out.print(aj+);【程序32】題目:取一個整數(shù)a從右端開始的47位。importjava.util.*;publicclasslianxi32publicstaticvoidmain(stringargs)scanners=newscanner(system.in);system.out.print(請輸入一個7位以上的正整數(shù):);longa=s.nextlong();stringss=long.tostring(a);charch=ss.tochararray(
35、);intj=ch.length;if(j7)system.out.println(輸入錯誤!);elsesystem.out.println(截取從右端開始的47位是:+chj-7+chj-6+chj-5+chj-4);【程序33】精選題目:打印出楊輝三角形(要求打印出10行如下圖)11112113311464115101051publicclasslianxi33publicstaticvoidmain(stringargs)inta=newint1010;for(inti=0;i10;i+)aii=1;ai0=1;for(inti=2;i10;i+)for(intj=1;ji;j+)aij=ai-1j-1+ai-1j;for(inti=0;i10;i+)for(intk=0;k2*(10-i)-1;k+)system.out.print();for(intj=0;j=i;j+)system.out.print(aij+);system.out.println();【程序34】題目:輸入3個數(shù)a,b,c,按大小順序輸出。importjava.util.scanner;publicclasslianxi34publicstatic
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 親子教育居間勞務(wù)協(xié)議
- 2025年度北京市社區(qū)醫(yī)療服務(wù)合作協(xié)議范本
- 化妝品生產(chǎn)質(zhì)量管理體系手冊
- 垃圾處理廠工程居間協(xié)議
- 季度銷售成績回顧與未來展望報(bào)告
- 煙葉項(xiàng)目可行性研究報(bào)告
- 循環(huán)經(jīng)濟(jì)產(chǎn)業(yè)園項(xiàng)目可行性報(bào)告
- 電子雜志制作與推廣手冊
- 智能家居行業(yè)運(yùn)營指南
- 個人學(xué)習(xí)成長計(jì)劃表之階段性目標(biāo)
- 1、現(xiàn)代生物技術(shù)的概念、涵蓋的領(lǐng)域
- 30題紀(jì)檢監(jiān)察位崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 重癥肺炎護(hù)理查房課件文件
- 小兒發(fā)育遲緩護(hù)理查房課件
- 施耐德變頻器說明書大全
- 部編版小學(xué)語文三年級語文下冊第三單元集體備課教材分析解讀
- 新建機(jī)動車檢測站備案申請書
- 光伏電站事故處理規(guī)程
- 中國建筑三鐵六律行為安全準(zhǔn)則培訓(xùn)ppt
- 新人教版(新插圖)五年級下冊數(shù)學(xué) 第4單元 分?jǐn)?shù)的意義和性質(zhì)單元測試卷(含答案)
- 大型商場消防系統(tǒng)維保實(shí)施方案
評論
0/150
提交評論