Java基礎(chǔ)編程練習(xí)題50題及答案2017_第1頁(yè)
Java基礎(chǔ)編程練習(xí)題50題及答案2017_第2頁(yè)
Java基礎(chǔ)編程練習(xí)題50題及答案2017_第3頁(yè)
Java基礎(chǔ)編程練習(xí)題50題及答案2017_第4頁(yè)
Java基礎(chǔ)編程練習(xí)題50題及答案2017_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2017 年 Java 基礎(chǔ)編程經(jīng)典練習(xí)題 50 道【程序 11題目: 古典問(wèn)題: 有一對(duì)兔子, 從出生后第 3 個(gè)月起每個(gè)月都生一對(duì)兔子, 小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少?這是一個(gè)菲波拉契數(shù)列問(wèn)題publicclasslianxi01publicstaticvoidmain(Stringargs)System.out.println(第 1 個(gè)月的兔子對(duì)數(shù):1);System.out.println(第 2 個(gè)月的兔子對(duì)數(shù):1);intf1=1,f2=1,f,M=24;for(inti=3;i=M;i+)f=f2=f1+f2;f1=f;Sys

2、tem.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ù)。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=tru

3、e)count+;System.out.println(i);System.out.println(素?cái)?shù)個(gè)數(shù)是:+count);【程序 3】題目:打印出所有的水仙花數(shù),所謂水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153 是一個(gè)水仙花數(shù),因?yàn)?153=1 的三次方+5 的三次方+3 的三次方。publicclasslianxi03publicstaticvoidmain(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

4、)=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,則說(shuō)明分解質(zhì)因數(shù)的過(guò)程已經(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.*;publicclasslianxi04p

5、ublicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(請(qǐng)鍵入一個(gè)正整數(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.

6、in);System.out.print(請(qǐng)輸入一個(gè)成績(jī):);x=s.nextInt();grade=x=90?A:x=60?B:C;System.out.println(等級(jí)為:+grade);)【程序 6】題目:輸入兩個(gè)正整數(shù) m 和 n,求其最大公約數(shù)和最小公倍數(shù)。/*在循環(huán)中,只要除數(shù)不等于 0,用較大數(shù)除以較小的數(shù),將小的一個(gè)數(shù)作為下一輪循環(huán)的大數(shù),取得的余數(shù)作為下一輪循環(huán)的較小的數(shù),如此循環(huán)直到較小的數(shù)的值為 0,返回較大的數(shù),此數(shù)即為最大公約數(shù),最小公倍數(shù)為兩數(shù)之積除以最大公約數(shù)。*/importjava.util.*;publicclasslianxi06publicstati

7、cvoidmain(Stringargs)inta,b,m;Scanners=newScanner(System.in);System.out.print(鍵入一個(gè)整數(shù):);a=s.nextInt();System.out.print(再鍵入一個(gè)整數(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;

8、)while(y!=0)if(x=y)returnx;elseintk=x%y;x=y;y=k;returnx;)【程序71題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。importjava.util.*;publicclasslianxi07publicstaticvoidmain(String口args)intabcCount=0;/英 文 字 母 個(gè) 數(shù)intspaceCount=0;/空 格 鍵 個(gè) 數(shù)intnumCount=0;/數(shù)字個(gè)數(shù)intotherCount=0;/其他字符個(gè)數(shù)Scannerscan=newScanner(System.in);/掃描器

9、接受控制臺(tái)的輸入信息System.out.println(輸入一組字符);Stringstr=scan.nextLine();/取出控制臺(tái)的一行信息,也就是你輸入的信息charch=str.toCharArray();/把取道的字符串變成一個(gè) char 數(shù)組for(inti=0;ich.length;i+)if(Character.isLetter(chi)/判斷是否字母abcCount+;)elseif(Character.isDigit(chi)/判斷是否數(shù)字numCount+;)elseif(Character.isSpaceChar(chi)/判斷是否空格鍵spaceCount+;)e

10、lse/以上都不是則認(rèn)為是其他字符otherCount+;)System.out .println(字母?jìng)€(gè)數(shù):+abcCount);System.out .println(數(shù)字個(gè)數(shù):+numCount);System.out .println(空格個(gè)數(shù):+spaceCount);System.out .println(其他字符個(gè)數(shù):+otherCount);)【程序 8】 題目: 求 s=a+aa+aaa+aaaa+aa./J 值, 其中 a 是一個(gè)數(shù)字。 例如 2+22+222+2222+22222(此時(shí)共有 5 個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤(pán)控制。importjava.util.*;publ

11、icclasslianxi08publicstaticvoidmain(String 口 args)longa,b=0,sum=0;Scanners=newScanner(System.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】題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為“完數(shù)。例如 6=1+2+3.編程找出

12、 1000 以?xún)?nèi)的所有完數(shù)。publicclasslianxi09publicstaticvoidmain(Stringargs)System.out.println(1 到 1000 的完數(shù)有:);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)過(guò)多少米?第 10 次反彈多高?publicclasslianxi10publicstaticvoid

13、main(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)過(guò)路程:+s);System.out.println(最后高度:+h);【程序 11題目:有 1、2、3、4 四個(gè)數(shù)字,能組成多少個(gè)互不相同且一個(gè)數(shù)字中無(wú)重復(fù)數(shù)字的三位數(shù)?并把他們都輸入。publicclasslianxi11publicstaticvoidmain(Stringargs)intcount=0;for(intx=1;x5;x+)for(inty=1;y5;y+)for(intz=1;z0&

14、;x10&x20&x40&x60&x100)y=20*0.175+40*0.08+40*0.015+(x-100)*0.01;System.out.println(應(yīng)該提取的獎(jiǎng)金是+y+萬(wàn));【程序 13題目:一個(gè)整數(shù),它加上 100 后是一個(gè)完全平方數(shù),再加上 168 又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少?publicclasslianxi13publicstaticvoidmain(Stringargs)for(intx=1;x100000;x+)if(Math.sqrt(x+100)%1=0)if(Math.sqrt(x+168)%1=0)System.ou

15、t.println(x+加 100 是一個(gè)完全平方數(shù),再加 168 又是一個(gè)完全平方數(shù));/*按題意循環(huán)應(yīng)該從-100 開(kāi)始(整數(shù)包括正整數(shù)、負(fù)整數(shù)、零),這樣會(huì)多一個(gè)滿(mǎn)足條件的數(shù)-99。但是我看到大部分人解這道題目時(shí)都把題中的整數(shù)”理解成正整數(shù),我也就隨大流了。*/【程序 14題目:輸入某年某月某日,判斷這一天是這一年的第幾天?importjava.util.*;publicclasslianxi14publicstaticvoidmain(Stringargs)intyear,month,day;intdays=0;intd=0;inte;inputfymd=newinput();doe=

16、0;System.out.print(輸入年:);year=fymd.input();System.out.print(輸入月:);month=fymd.input();System.out.print(輸入天:);day=fymd.input();if(year0|month12|day31)System.out.println(輸入錯(cuò)誤,請(qǐng)重新輸入!);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(三個(gè)數(shù)字由小到大排列為:

17、+x+y+z);classinputpublicintinput()intvalue=0;Scanners=newScanner(System.in);value=s.nextInt();returnvalue;)【程序 16題目:輸出 9*9 口訣。publicclasslianxi16publicstaticvoidmain(String口args)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();【程序 1

18、7題目:猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè)第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第 10 天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了。求第一天共摘了多少。publicclasslianxi17publicstaticvoidmain(Stringargs)intx=1;for(inti=2;i=10;i+)x=(x+1)*2;System.out.println(猴子第一天摘了+x+個(gè)桃子);【程序 18題目:兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為 a,b,c 三人,乙隊(duì)為 x,y,z 三人。已抽簽決定比賽名

19、單。有人向隊(duì)員打聽(tīng)比賽的名單。a 說(shuō)他不和 x 比,c 說(shuō)他不和 x,z 比,請(qǐng)編程序找出三隊(duì)賽手的名單。publicclasslianxi18staticchar口m=a,b,c;staticcharn=x,y,z;publicstaticvoidmain(Stringargs)for(inti=0;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

20、=b&nj=z)|(mi=b&nj=y)continue;elseSystem.out.println(mi+vs+nj);【程序 19題目:打印出如下圖案(菱形)*publicclasslianxi19publicstaticvoidmain(Stringargs)intH=7,W=7;/高和寬必須是相等的奇數(shù)for(inti=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

21、=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.求出這個(gè)數(shù)列的前publicclasslianxi20publicstaticvoidmain(Stringargs)intx=2,y=1,t;doublesum=0;20 項(xiàng)之和。for(inti=1;i=20;i+)sum=sum+(double)x/y;t=y;y=x;x=y+t;)

22、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;)System.out.println(sum);)【程序 22題目:利用遞歸方法求 5!。publicclasslianxi22publicstaticvoidmain(Stringargs)intn=5;recfr=newrec();System.o

23、ut.println(n+!=+fr.rec(n);)classrecpubliclongrec(intn)longvalue=0;if(n=1)value=1;elsevalue=n*rec(n-1);returnvalue;【程序 23題目:有 5 個(gè)人坐在一起,問(wèn)第五個(gè)人多少歲?他說(shuō)比第 4 個(gè)人大 2 歲。問(wèn)第 4 個(gè)人歲數(shù),他說(shuō)比第 3 個(gè)人大 2 歲。問(wèn)第三個(gè)人,又說(shuō)比第 2 人大兩歲。問(wèn)第 2 個(gè)人,說(shuō)比第一個(gè)人大兩歲。最后問(wèn)第一個(gè)人,他說(shuō)是 10 歲。請(qǐng)問(wèn)第五個(gè)人多大?publicclasslianxi23publicstaticvoidmain(String 口 args)i

24、ntage=10;for(inti=2;i=0;i-)System.out.print(chi);【程序 25題目:一個(gè) 5 位數(shù),判斷它是不是回文數(shù)。即 12321 是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。importjava.util.*;publicclasslianxi25publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);inta;doSystem.out.print(請(qǐng)輸入一個(gè) 5 位正整數(shù):);a=s.nextInt();while(a99999);Stringss=String.valueOf(a);c

25、harch=ss.toCharArray();if(ch0=ch4&ch1=ch3)System.out.println(這是一個(gè)回文數(shù));elseSystem.out.println(這不是一個(gè)回文數(shù));/這個(gè)更好,不限位數(shù)importjava.util.*;publicclasslianxi25apublicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);booleanis=true;System.out.print(請(qǐng)輸入一個(gè)正整數(shù):);longa=s.nextLong();Stringss=Long.toStri

26、ng(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(這是一個(gè)回文數(shù));elseSystem.out.println(這不是一個(gè)回文數(shù));【程序 26題目:請(qǐng)輸入星期幾的第一個(gè)字母來(lái)判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判斷第二個(gè)字母。importjava.util.*;publicclasslianxi26publicstaticvoidmain(Stringargs)getChartw=newgetCh

27、ar();System.out.println(請(qǐng)輸入星期的第一個(gè)大寫(xiě)字母:);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.println(請(qǐng)輸入星期的第二個(gè)字母:);charch2=tw.getChar();if(ch2=U)System.out.println(Tuesday);elseif(ch2=H)

28、System.out.println(Thursday);elseSystem.out.println(無(wú)此寫(xiě)法!);break;caseS:System.out.println(請(qǐng)輸入星期的第二個(gè)字母:);charch2=tw.getChar();if(ch2=U)System.out.println(Sunday);elseif(ch2=A)System.out.println(Saturday);elseSystem.out.println(無(wú)此寫(xiě)法!);break;default:System.out.println(無(wú)此寫(xiě)法!);classgetCharpublicchargetCh

29、ar()Scanners=newScanner(System.in);Stringstr=s.nextLine();charch=str.charAt(O);if(chZ)System.out.println(輸入錯(cuò)誤,請(qǐng)重新輸入);ch=getChar();returnch;【程序 27題目:求 100 之內(nèi)的素?cái)?shù)使用除 sqrt(n)的方法求出的素?cái)?shù)不包括 2 和 3publicclasslianxi27publicstaticvoidmain(String 口 args)booleanb=false;System.out.print(2+);System.out.print(3+);fo

30、r(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)int 口 a=newint2,3,5,7;for(intj=0;j4;j+)System.out.print(aj+);booleanb=false;for(inti=11;i100;i+=2)for(i

31、ntj=0;j4;j+)if(i%aj=0)b=false;break;elseb=true;if(b=true)System.out.print(i+);【程序 28題目:對(duì) 10 個(gè)數(shù)進(jìn)行排序importjava.util.*;publicclasslianxi28publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);inta=newint10;System.out.println(請(qǐng)輸入 10 個(gè)整數(shù):);for(inti=0;i10;i+)ai=s.nextInt();for(inti=0;i10;i+)for(i

32、ntj=i+1;jaj)intt=ai;ai=aj;aj=t;)for(inti=0;i10;i+)System.out.print(ai+);)【程序 29題目:求一個(gè) 3*3 矩陣對(duì)角線(xiàn)元素之和importjava.util.*;publicclasslianxi29publicstaticvoidmain(String 口 args)Scanners=newScanner(System.in);inta=newint33;System.out.println(請(qǐng)輸入 9 個(gè)整數(shù):);for(inti=0;i3;i+)for(intj=0;j3;j+)aij=s.nextInt();)Sy

33、stem.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.lengthbb.length-1=num;-1)for(i=0;ia.bi=ai;length;i+)elsefor(i=0;i=bi=ai;elselengthai);i+)bi=num;break;)for(intj=i+1;jb.bj=aj-1;)for(i=0;ib.length;j

34、+)length;i+)System.out.print(bi+)System.out.println(對(duì)角線(xiàn)之和是:+sum);)【程序 30題目:有一個(gè)已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。/此程序不好,沒(méi)有使用折半查找插入【程序 31題目:將一個(gè)數(shù)組逆序輸出。importjava.util.*;publicclasslianxi31publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);inta=newint20;System.out.println(請(qǐng)輸入多個(gè)正整數(shù)(輸入-1 表示結(jié)束):)

35、;inti=0,j;doai=s.nextInt();i+;while(ai-1!=-1);System.out.println(你輸入的數(shù)組為:);for(j=0;j=0;j=j-1)System.out.print(aj+);【程序 32題目:取一個(gè)整數(shù) a 從右端開(kāi)始的 47 位。importjava.util.*;publicclasslianxi32publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(請(qǐng)輸入一個(gè) 7 位以上的正整數(shù):);longa=s.nextLong();St

36、ringss=Long.toString(a);charch=ss.toCharArray();intj=ch.length;if(j7)System.out.println(輸入錯(cuò)誤!);elseSystem.out.println(截取從右端開(kāi)始的 47 位是:+chj-7+chj-6+chj-5+chj-4);【程序 33題目:打印出楊輝三角形(要求打印出 10 行如下圖)11112113311464115101051publicclasslianxi33publicstaticvoidmain(Stringargs)inta=newint1010;for(inti=0;i10;i+)a

37、ii=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 個(gè)數(shù) a,b,c,按大小順序輸出。importjava.util.Scanner;publicclasslianxi34publicstaticvoidmain(Stringargs)Scann

38、ers=newScanner(System.in);System.out.println(請(qǐng)輸入 3 個(gè)整數(shù):);inta=s.nextInt();intb=s.nextInt();intc=s.nextInt();if(ab)intt=a;a=b;b=t;)if(ac)intt=a;a=c;c=t;)if(bc)intt=b;b=c;c=t;)System.out.println(從大到小的順序輸出:);System.out.println(a+b+c);)【程序 35題目:輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。importjava.util.*;public

39、classlianxi35publicstaticvoidmain(String口args)intN=8;int口a=newintN;/創(chuàng)建一個(gè)八個(gè)元素的數(shù)組Scanners=newScanner(System.in);intidx1=0,idx2=0;System.out.println(”請(qǐng)輸入8個(gè)整數(shù):”);for(inti=0;iN;i+)ai=s.nextInt();)/獲得輸入的八個(gè)數(shù)字System.out.println(你輸入的數(shù)組為:”);for(inti=0;iN;i+)System.out.print(ai+);)/輸出輸入的數(shù)組intmax=a0,min=a0;for(

40、inti=0;imax)max=ai;idx1=i;)/找出最大的數(shù)和其下標(biāo)if(aimin)min=ai;idx2=i;/找出最大的數(shù)和其下標(biāo))if(idxl!=0)inttemp=a0;a0=aidx1;aidx1=temp;/最大的數(shù)和第一個(gè)數(shù)交換位置if(idx2!=N-1)inttemp=aN-1;aN-1=aidx2;aidx2=temp;/最小的數(shù)和最后一個(gè)數(shù)交換位置System.out.println(n交換后的數(shù)組為:);for(inti=0;iN;i+)System.out.print(ai+);【程序 36題目:有 n 個(gè)整數(shù),使其前面各數(shù)順序向后移 m 個(gè)位置,最后 m

41、 個(gè)數(shù)變成最前面的 m 個(gè)數(shù)importjava.util.Scanner;publicclasslianxi36publicstaticvoidmain(Stringargs)intN=10;inta=newintN;Scanners=newScanner(System.in);System.out.println(請(qǐng)輸入 10 個(gè)整數(shù):);for(inti=0;iN;i+)ai=s.nextInt();System.out.print(你輸入的數(shù)組為:);for(inti=0;iN;i+)System.out.print(ai+);System.out.print(n 請(qǐng)輸入向后移動(dòng)的位數(shù)

42、:);intm=s.nextInt();intb=newintm;for(inti=0;i=m;i-)ai=ai-m;)for(inti=0;im;i+)ai=bi;)System.out.print(位移后的數(shù)組是:);for(inti=0;iN;i+)System.out.print(ai+);)【程序 37題目:有 n 個(gè)人圍成一圈,順序排號(hào)。從第一個(gè)人開(kāi)始報(bào)數(shù)(從 1 到 3 報(bào)數(shù)),凡報(bào)到的人退出圈子,問(wèn)最后留下的是原來(lái)第幾號(hào)的那位。importjava.util.Scanner;publicclasslianxi37publicstaticvoidmain(Stringargs)S

43、canners=newScanner(System.in);System.out.print(請(qǐng)輸入排成一圈的人數(shù):);intn=s.nextInt();booleanarr=newbooleann;for(inti=0;i1)if(arrindex=true)countNum+;if(countNum=3)countNum=0;arrindex=false;leftCount-;index+;if(index=n)index=0;for(inti=0;in;i+)if(arri=true)System.out.println(原排在第+(i+1)+位的人留下了。);)【程序 38題目:寫(xiě)一個(gè)

44、函數(shù),求一個(gè)字符串的長(zhǎng)度,在 main 函數(shù)中輸入字符串,并輸出其長(zhǎng)度。/*題目意思似乎不能用 length()函數(shù)*/importjava.util.*;publicclasslianxi38publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.println(請(qǐng)輸入一個(gè)字符串:);Stringstr=s.nextLine();System.out.println(字符串的長(zhǎng)度是:+str.length();)【程序 39題目:編寫(xiě)一個(gè)函數(shù),輸入 n 為偶數(shù)時(shí),調(diào)用函數(shù)求 1/2+1/4+.+1/n

45、,當(dāng)輸入 n 為奇數(shù)時(shí),調(diào)用函數(shù) 1/1+1/3+.+1/n(利用指針函數(shù))/沒(méi)有利用指針函數(shù)importjava.util.*;publicclasslianxi39publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(請(qǐng)輸入一個(gè)正整數(shù) n=);intn=s.nextInt();System.out.println(相應(yīng)數(shù)列的和為:+sum(n);)publicstaticdoublesum(intn)doubleres=0;if(n%2=0)for(inti=2;i=n;i+=2)re

46、s+=(double)1/i;)elsefor(inti=1;i=n;i+=2)res+=(double)1/i;returnres;【程序 40題目:字符串排序。publicclasslianxi40publicstaticvoidmain(Stringargs)intN=5;Stringtemp=null;Strings=newStringN;s0=matter;s1=state;s2=solid;s3=liquid;s4=gas;for(inti=0;iN;i+)for(intj=i+1;jN;j+)if(compare(si,sj)=false)temp=si;si=sj;sj=tem

47、p;for(inti=0;iN;i+)System.out.println(si);staticbooleancompare(Strings1,Strings2)booleanresult=true;for(inti=0;is1.length()&is2.charAt(i)result=false;break;elseif(s1.charAt(i)s2.charAt(i)result=true;break;elseif(s1.length()s2.length()result=true;elseresult=false;returnresult;)【程序 41題目:海灘上有一堆桃子,五

48、只猴子來(lái)分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問(wèn)海灘上原來(lái)最少有多少個(gè)桃子?publicclasslianxi41publicstaticvoidmain(Stringargs)inti,m,j=0,k,count;for(i=4;i10000;i+=4)count=0;m=i;for(k=0;k5;k+)j=i/4*5+1;i=j;if(j%4=0)count+;elsebreak;)i=m;if(count=4)Sys

49、tem.out.println(原有桃子+j+個(gè))break;)【程序 42題目:809*?=800*?+9*?+1 其中??代表的兩位數(shù),8*?的結(jié)果為兩位數(shù),9*?的結(jié)果為 3 位數(shù)。求?代表的兩位數(shù),及 809*?后的結(jié)果。/題目錯(cuò)了!809x=800 x+9x+1 這樣的方程無(wú)解。去掉那個(gè) 1 就有解了。publicclasslianxi42publicstaticvoidmain(Stringargs)inta=809,b,i;for(i=10;i13;i+)b=i*a;if(8*i=100)System.out.println(809*+i+=+800*+i+9*+i+=+b);【

50、程序 43題目:求 07 所能組成的奇數(shù)個(gè)數(shù)。/組成 1 位數(shù)是 4 個(gè)。/組成 2 位數(shù)是 7*4 個(gè)。/組成 3 位數(shù)是 7*8*4 個(gè)。/組成 4 位數(shù)是 7*8*8*4 個(gè)。/publicclasslianxi43publicstaticvoidmain(Stringargs)intsum=4;組成 1 位數(shù)是+sum+個(gè));組成 2 位數(shù)是+sum+個(gè));組成+j+位數(shù)是+sum+個(gè));題目:一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。/由于用除 sqrt(n)的方法求出的素?cái)?shù)不包括 2 和 3,/因此在判斷是否是素?cái)?shù)程序中人為添加了一個(gè) 3。importjava.util.*;publiccl

51、asslianxi44publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);intn,i;doSystem.out.print(請(qǐng)輸入一個(gè)大于等于 6 的偶數(shù):);n=s.nextInt();while(n=6 偶數(shù),不是,重新輸入funfc=newfun();for(i=2;i=n/2;i+)if(fc.fun(i)=1&(fc.fun(n-i)=1)intj=n-i;System.out.println(n+=+i+j);/輸出所有可能的素?cái)?shù)對(duì)classfunpublicintfun(inta)/判斷是否是素?cái)?shù)

52、的函數(shù)inti,flag=0;if(a=3)flag=1;return(flag);for(i=2;i=Math.sqrt(a);i+)intj;System.out.println(sum=sum*7;System.out.println(for(j=3;j=9;j+)sum=sum*8;System.out.println(【程序 44if(a%i=0)flag=0;break;elseflag=1;return(flag);/不是素?cái)?shù),返回 0,是素?cái)?shù),返回 1/解法二importjava.util.*;publicclasslianxi44publicstaticvoidmain(St

53、ringargs)Scanners=newScanner(System.in);intn;doSystem.out.print(請(qǐng)輸入一個(gè)大于等于 6 的偶數(shù):);n=s.nextInt();while(n=6 偶數(shù),不是,重新輸入for(inti=3;i=n/2;i+=2)if(fun(i)&fun(n-i)System.out.println(n+=+i+(n-i);/輸出所有可能的素?cái)?shù)對(duì)staticbooleanfun(inta)/判斷是否是素?cái)?shù)的函數(shù)booleanflag=false;if(a=3)flag=true;return(flag);for(inti=2;i=Math

54、.sqrt(a);i+)if(a%i=0)flag=false;break;elseflag=true;return(flag);【程序 45題目:判斷一個(gè)素?cái)?shù)能被幾個(gè) 9 整除/題目錯(cuò)了吧?能被 9 整除的就不是素?cái)?shù)了!所以改成整數(shù)了。importjava.util.*;publicclasslianxi45publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(請(qǐng)輸入一個(gè)整數(shù):);intnum=s.nextInt();inttmp=num;intcount=0;for(inti=0;tm

55、p%9=0;)tmp=tmp/9;count+;)System.out.println(num+能夠被+count+個(gè) 9 整除。);)【程序 46題目:兩個(gè)字符串連接程序 importjava.util.*;publicclasslianxi46publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(請(qǐng)輸入一個(gè)字符串:);Stringstr1=s.nextLine();System.out.print(請(qǐng)?jiān)佥斎胍粋€(gè)字符串:);Stringstr2=s.nextLine();Stringst

56、r=str1+str2;System.out.println(連接后的字符串是:+str);)【程序 47題目:讀取 7 個(gè)數(shù)(150)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的*。importjava.util.*;publicclasslianxi47publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);intn=1,num;while(n=7)doSystem.out.print(請(qǐng)輸入一個(gè) 1-50 之間的整數(shù):);num=s.nextInt();while(num50);for(inti=1;i=num;i+)

57、System.out.print(*);System.out.println();n+;【程序 48題目:某個(gè)公司采用公用電話(huà)傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,加密規(guī)則如下:每位數(shù)字都加上 5,然后用和除以 10 的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。importjava.util.*;publicclasslianxi48publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);intnum=0,temp;doSystem.out.print(請(qǐng)輸入一個(gè) 4 位正整數(shù):);num=s.

58、nextInt();while(num9999);inta尸 newint4;a0=num/1000;/取千位的數(shù)字a1=(num/100)%10;/取百位的數(shù)字a2=(num/10)%10;/取十位的數(shù)字a3=num%10;/取個(gè)位的數(shù)字for(intj=0;j4;j+)aj+=5;aj%=10;for(intj=0;j=1;j+)temp=aj;aj=a3-j;a3-j=temp;System.out.print(加密后的數(shù)字為:);for(intj=0;j4;j+)System.out.print(aj);【程序 49題目:計(jì)算字符串中子串出現(xiàn)的次數(shù)importjava.util.*;p

59、ublicclasslianxi49publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(請(qǐng)輸入字符串:);Stringstr1=s.nextLine();System.out.print(請(qǐng)輸入子串:);Stringstr2=s.nextLine();intcount=0;if(str1.equals()|str2.equals()System.out.println(你沒(méi)有輸入字符串或子串,無(wú)法比較!);System.exit(0);else(for(inti=0;i=str1.len

60、gth()-str2.length();i+)(if(str2.equals(str1.substring(i,str2.length()+i)/這種比法有問(wèn)題,會(huì)把a(bǔ)aa”看成有 2 個(gè)aa子串。count+;)System.out.println(子串在字符串中出現(xiàn):+count+次);)【程序 50題目:有五個(gè)學(xué)生,每個(gè)學(xué)生有 3 門(mén)課的成績(jī),從鍵盤(pán)輸入以上數(shù)據(jù)(包括學(xué)生號(hào),姓名,三門(mén)課成績(jī)),計(jì)算出平均成績(jī),把原有的數(shù)據(jù)和計(jì)算出的平均分?jǐn)?shù)存放在磁盤(pán)文件stud中。importjava.io.*;importjava.util.*;publicclasslianxi50publicstaticvoidmain(String 口 args)Scannerss=newScanner(System.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論