資源描述:
《java編程基礎(chǔ)50題new》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、【程序1】???題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少????//這是一個(gè)菲波拉契數(shù)列問題publicclasslianxi01{publicstaticvoidmain(String[]args){System.out.println("第1個(gè)月的兔子對(duì)數(shù):???1");System.out.println("第2個(gè)月的兔子對(duì)數(shù):???1");intf1=1,f2=1,f,M=24;????for(int
2、i=3;i<=M;i++){?????f=f2;?????f2=f1+f2;?????f1=f;?????System.out.println("第"+i+"個(gè)月的兔子對(duì)數(shù):"+f2);????????}}}【程序2】???題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。???publicclasslianxi02{publicstaticvoidmain(String[]args){???i
3、ntcount=0;???for(inti=101;i<200;i+=2){????booleanb=false;????for(intj=2;j<=Math.sqrt(i);j++)????{???????if(i%j==0){b=false;break;}????????else??????????{b=true;}????}???????if(b==true){count++;System.out.println(i);}?????????????????????????????????}???System
4、.out.println("素?cái)?shù)個(gè)數(shù)是:"+count);}}【程序3】???題目:打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)"水仙花數(shù)",因?yàn)?53=1的三次方+5的三次方+3的三次方。publicclasslianxi03{publicstaticvoidmain(String[]args){????intb1,b2,b3;????for(intm=101;m<1000;m++){?????b3=m/100;?????b2=m%100/10;??
5、???b1=m%???10;?????if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m){?????System.out.println(m+"是一個(gè)水仙花數(shù)");}????}}}???【程序4】???題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。???程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成:???(1)如果這個(gè)質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。???(2)如果n<>k,但n能被k整除,則應(yīng)打印出k的值,并
6、用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行第一步。???(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。??importjava.util.*;public????class????lianxi04{???publicstaticvoidmain(String[]args){???????Scanners=newScanner(System.in);???????System.out.print("請(qǐng)鍵入一個(gè)正整數(shù):????");???????int???n???=s.nextInt();???
7、????intk=2;???????System.out.print(n+"=");???????while(k<=n){?????????if(k==n){System.out.println(n);break;}???????????elseif(n%k==0){System.out.print(k+"*");n=n/k;}???????????????????else???k++;??????????????????}????}???}【程序5】???題目:利用條件運(yùn)算符的嵌套來完成此題:學(xué)習(xí)成績>=90分
8、的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。???importjava.util.*;publicclasslianxi05{publicstaticvoidmain(String[]args){????intx;????chargrade;????Scanners=newScanner(System.in);????System.out.print