版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第頁Java程序設(shè)計總復(fù)習(xí)題1、編寫一個Java程序在屏幕上輸出“你好!〞?!瞤13,例1-1〕//programmepublicclassHelloworld{publicstaticvoidmain(Stringargs[]){System.out.print("你好!");2.編寫一個Java程序,用if-else語句判斷某年份是否為閏年。publicclassLeapYear{publicstaticvoidmain(Stringargs[]){intyear=2021;gth!=0)year=Integer.parseInt(args[0]);if((year%4==0&&year%100!=0)||(year%400==0))System.out.println(year+"年是閏年。");elseSystem.out.println(year+"年不是閏年。");}//if-else語句3、編寫一個Java程序在屏幕上輸出1!+2!+3!+……+10!的與?!瞤64,例2-2〕publicclassForTest{publicstaticvoidmain(Stringargs[]){inti,j,mul,sum=0;for(i=1;i<=10;i++){mul=1;for(j=1,j<=i;j++){mul=mul*j;sum=sum+mul;System.out.println(“1!+2!+3!+……+10!=〞+sum);4.〔1〕編寫一個圓類Circle,該類擁有:①一個成員變量Radius〔私有,浮點型〕;//存放圓的半徑;②兩個構(gòu)造方法Circle()//將半徑設(shè)為0Circle(doubler)//創(chuàng)立Circle對象時將半徑初始化為r③三個成員方法doublegetArea()//獲取圓的面積doublegetPerimeter()//獲取圓的周長voidshow()//將圓的半徑、周長、面積輸出到屏幕〔2〕編寫一個圓柱體類Cylinder,它繼承于上面的Circle類。還擁有:①一個成員變量doublehight〔私有,浮點型〕;//圓柱體的高;②構(gòu)造方法Cylinder(doubler,doubleh)//創(chuàng)立Circle對象時將半徑初始化為r③成員方法doublegetVolume()//獲取圓柱體的體積voidshowVolume()//將圓柱體的體積輸出到屏幕編寫應(yīng)用程序,創(chuàng)立類的對象,分別設(shè)置圓的半徑、圓柱體的高,計算并分別顯示圓半徑、圓面積、圓周長,圓柱體的體積。//ProgrammeNameclassCircle{//定義父類--園類 privatedoubleradius;//成員變量--園半徑 Circle(){//構(gòu)造方法 radius=0.0; Circle(doubler){//構(gòu)造方法 radius=r; doublegetPerimeter(){//成員方法--求園周長 return2*Math.PI*radius; doublegetArea(){//成員方法--求園面積 returnMath.PI*radius*radius; voiddisp(){//成員方法--顯示園半徑、周長、面積 System.out.println("園半徑="+radius); System.out.println("園周長="+getPerimeter()); System.out.println("園面積="+getArea()); classCylinderextendsCircle{//定義子類--圓柱類 privatedoublehight;//成員變量--園柱高 Cylinder(doubler,doubleh){//構(gòu)造方法 super(r); hight=h; publicdoublegetVol(){//成員方法--求園柱體積 returngetArea()*hight; publicvoiddispVol(){//成員方法--顯示園柱體積 System.out.println("圓柱體積="+getVol());publicclassTestCylinder{//定義主類publicstaticvoidmain(String[]args){//主程入口CircleCi=newCircle(10.0);//生成園類實例Ci.disp();//調(diào)用園類的方法CylinderCyl=newCylinder(5.0,10.0);//生成圓柱類實例Cyl.disp();//調(diào)用父類方法Cyl.dispVol();//調(diào)用子類方法5、編寫一個Java應(yīng)用程序,從鍵盤讀取用戶輸入兩個字符串,并重載3個函數(shù)分別實現(xiàn)這兩個字符串的拼接、整數(shù)相加與浮點數(shù)相加。要進(jìn)展異常處理,對輸入的不符合要求的字符串提示給用戶,不能使程序崩潰?!瞤39,例2-10,2-11〕//programmeimportjava.io.*;publicclassStrinputpublicstaticvoidmain(Stringargs[]){Strings1,s2,ss,si,sf;inti1,i2;floatf1,f2;BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));try{System.out.print("輸入第一個字符串:");s1=strin.readLine();System.out.print("輸入第二個字符串:");s2=strin.readLine();}catch(Exceptione){System.out.println(e.getMessage());}i1=Integer.parseInt(s1);i2=Integer.parseInt(s2);f1=Float.parseFloat(s1);f2=Float.parseFloat(s2);ss=strAdd(s1,s2);si=strAdd(i1,i2);sf=strAdd(f1,f2);Sln("輸入的二個字符串相加結(jié)果為:"+ss);Sln("輸入字符串轉(zhuǎn)換為整數(shù)相加結(jié)果為:"+si);Sln("輸入字符串轉(zhuǎn)換為浮點數(shù)相加結(jié)果為:"+sf);StringstrAdd(Stringstr1,Stringstr2){returnstr1+str2;StringstrAdd(intint1,intint2){returnString.valueOf(int1+int2);StringstrAdd(floatflt1,floatflt2){returnString.valueOf(flt1+flt2);6.應(yīng)用類,編寫應(yīng)用程序,從磁盤上讀取一個Java程序,并將源程序代碼顯示在屏幕上?!脖蛔x取的文件路徑為:E:/myjava/Hello.java〕importjava.io.*;publicclassFISDemo{publicstaticvoidmain(Stringargs[]){byte[]buf=newbyte[2056];try{("e:/myjava/Hello.java");intbytes=(buf,0,2056);Stringstr=newString(buf,0,bytes);System.out.println(str);}catch(Exceptione){e.printStackTrace();7、編寫一個Java程序?qū)?dāng)100,101,102,103,104,105個數(shù)以數(shù)組的形式寫入到文件中,并以相反的順序讀出顯示在屏幕上。〔p190,例7-2〕importjava.io.*;publicclassIODemo{publicstaticvoidmain(Stringargs[]){intdata[]={100,101,102,103,104,105};intt;try{DataOutputStreamout=newDataOutputStream(new(“〞));for(inti=0;i<data.length;i++)out.WriteInt(data[i]);out.close();DataInputStreamin=newDataInputStream(new(“〞));for(inti=data.length-1;i>=0;i--){t=in.readInt(data[i]);System.out.print(“〞+t);ln();in.close();}catch(IOExceptione){System.out.println(e.getMessage());}8.利用Applet類與Runnable接口實現(xiàn)滾動字幕,其中字幕文字〔“學(xué)好Java有工作〞〕與時間間隔〔“200”importjava.awt.Color;importjava.awt.Graphics;importjavax.swing.JApplet;publicclassMoveMessageextendsJAppletimplementsRunnable{ Stringstr; inttime; privateThreadthread; publicvoidinit(){ setBackground(Color.PINK); str=getParameter("message"); StringtimeArg=getParameter("time"); time=Integer.parseInt(timeArg);; thread=newThread(this); publicvoidstart(){ thread.start(); publicvoidrun(){ intx=0; Graphicsg=getGraphics(); while(true){ try{ Thread.sleep(time); }catch(Exceptione){ e.printStackTrace(); g.clearRect(0,0,getWidth(),getHeight()); g.drawString(str,x,30); x+=2; if(x>=getWidth()) x=0;<html> <body> <Appletcode="MoveMessage.class"width=400height=60> <paramname="message"value="學(xué)好java有工作"> <paramname="time"value="200"> </Applet> </body></html>9、編寫一個Java程序?qū)崿F(xiàn)多線程,在線程中輸出線程的名字,隔300毫秒輸出一次,共輸出20次。〔p202,例8-1〕//programmenameTestThread;//聲明一個子線程類Threaddemo;classThreadDemoextendsThread{publicThreadDemo(Stringstr){super(str);publicvoidrun(){for(inti=0;i<20;i++){System.out.print(“〞+this.getName());Try{Sleep(300);}catch(InterruptedExceptione){System.out.println(e.getMessage());Return;System.out.println(“/end〞);publicclassTestThread{publicstaticvoidmain(Stringargs[]){ThreadDemothread1=newThreadDemo(“T1”ThreadDemothread2=newThreadDemo(“T2”ThreadDemothread3=newThreadDemo(“T3”thread1.start();thread2.start();thread3.start();10.編寫程序,在屏幕上顯示帶標(biāo)題的窗口,并添加一個按鈕。當(dāng)用戶單擊按鈕時,完畢程序。importjavax.swing.*;importjava.awt.event.*;publicclassButtonEventDemoextendsJPanelimplementsActionListener{protectedJButtonb1; //聲明一個按鈕對象publicButtonEventDemo(){ //構(gòu)造方法ImageIconButtonIcon=newImageIcon("images/green.png");//創(chuàng)立按鈕的圖標(biāo)對象b1=newJButton("退出按鈕",ButtonIcon); //生成按鈕對象b1.setMnemonic(KeyEvent.VK_E);//設(shè)置b1的助記符是Alt+Eb1.setToolTipText("這是退出按鈕。"); //設(shè)置按鈕提示條this.add(b1);//往面板對象中加載按鈕b1.addActionListener(this);//本類對象注冊為按鈕的事件監(jiān)聽器publicvoidactionPerformed(ActionEvente){ //按鈕事件響應(yīng)方法System.exit(0);//按b1那么退出主程序privatestaticvoidcreateGUI(){//創(chuàng)立窗體JFrame.setDefaultLookAndFeelDecorated(true);//設(shè)置java隱含觀感JFrameframe=newJFrame("按鈕測試");//生成應(yīng)用程序主窗體frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置關(guān)閉時隱含操作ButtonEventDemoCPane=newButtonEventDemo();//生成主類對象--面板CPane.setOpaque(true);//面板要求不透明frame.setContentPane(CPane);//設(shè)置主類對象為主窗體的內(nèi)容面板frame.pack();//主窗體緊縮顯示frame.setVisible(true);//設(shè)置主窗體可見publicstaticvoidmain(String[]args){//將createGUI〔〕列入線程javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createGUI();11.利用線程方法編寫JApplet程序,實現(xiàn)在瀏覽器端實時動態(tài)顯示本地系統(tǒng)時鐘importjava.applet.Applet;importjava.awt.*;importjava.text.DateFormat;importjava.util.*;publicclassWatchextendsApplet{publicvoidpaint(Graphicsg){Dated=newDate();DateFormatldf=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);//System.out.println("現(xiàn)在系統(tǒng)時間是(long):"+ldf.format(d));Stringtime=ldf.format(d).toString();g.drawString(time,100,100);try{Thread.sleep(1000);}catch(InterruptedExceptione){}repaint();<html><head><title>JavaAppletDemo</title></head><body><appletcode=〞〞width=300height=200></applet></body></html>//保存為Watch.html文件12、定義一個表示學(xué)生信息的類Student,要求如下:〔1〕類Student的成員變量:sNO表示學(xué)號;sName表示姓名;sSex表示性別;sAge表示年齡;sJava:表示Java課程成績?!?〕類Student帶參數(shù)的構(gòu)造方法:在構(gòu)造方法中通過形參完成對成員變量的賦值操作?!?〕類Student的方法成員:getNo〔〕:獲得學(xué)號;getName〔〕:獲得姓名;getSex〔〕:獲得性別;getAge〔〕獲得年齡;getJava〔〕:獲得Java課程成績根據(jù)類Student的定義,創(chuàng)立五個該類的對象,輸出每個學(xué)生的信息,計算并輸出這五個學(xué)生Java語言成績的平均值,以及計算并輸出他們Java語言成績的最大值與最小值。//PragrammenameStudent;publicclassStudent{ StringsNO,sName,sSex; intsAge,sJava; publicStudent(StringXH,StringXM,StringXB,intNL,intXF){ super(); sNO=XH; sName=XM; sSex=XB; sAge=NL; sJava=XF; publicStringgetNO(){ returnsNO; publicStringgetName(){ returnsName; publicStringgetSex(){ returnsSex; publicintgetAge(){ returnsAge; publicintgetJava(){ returnsJava; publicstaticvoidmain(String[]args){ Student[]st=newStudent[5]; st[0]=newStudent("09zc01","張三","男",19,94); st[1]=newStudent("09zc02","李四","男",20,85); st[2]=newStudent("09zc03","王五","女",18,96); st[3]=newStudent("09zc04","趙六","男",17,90); st[4]=newStudent("09zc05","楊七","女",21,88); intmax=0,min=100,sum=0; System.out.println("學(xué)生信息:"); for(inti=0;i<st.length;i++){ if(st[i].sJava<min) min=st[i].sJava; if(st[i].sJava>max) max=st[i].sJava; sum=sum+st[i].sJava; System.out.println("學(xué)生編號:"+st[i].getNO()+",姓名:"+st[i].getName()+",性別:"+st[i].getSex()+",年齡:"+st[i].getAge()+",Java課學(xué)分:"+st[i].getJava()); System.out.println(); System.out.println("共有學(xué)生:"+st.length+",平均成績:"+sum/st.length); System.out.println("最小學(xué)分:"+min+",最大學(xué)分:"+max);【程序1】
題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假設(shè)兔子都不死,問每個月的兔子總數(shù)為多少?
//這是一個菲波拉契數(shù)列問題
publicclasslianxi01{
publicstaticvoidmain(String[]args){
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.println("第"+i+"個月的兔子對數(shù):"+f2);
}
}
}【程序2】
題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。
程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,那么說明此數(shù)不是素數(shù),反之是素數(shù)。
publicclasslianxi02{
publicstaticvoidmain(String[]args){
intcount=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.out.println("素數(shù)個數(shù)是:"+count);
}
}【程序3】
題目:打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個三位數(shù),其各位數(shù)字立方與等于該數(shù)本身。例如:153是一個"水仙花數(shù)",因為153=1的三次方+5的三次方+3的三次方。
publicclasslianxi03{
publicstaticvoidmain(String[]args){
intb1,b2,b3;
for(intm=101;m<1000;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+"是一個水仙花數(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)完畢,打印出即可。
(2)如果n<>k,但n能被k整除,那么應(yīng)打印出k的值,并用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("請鍵入一個正整數(shù):
");
int
n
=s.nextInt();
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分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。
importjava.util.*;
publicclasslianxi05{
publicstaticvoidmain(String[]args){
intx;
chargrade;
Scanners=newScanner(System.in);
System.out.print("請輸入一個成績:");
x=s.nextInt();
grade=x>=90?'A'
:x>=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.*;
public
class
lianxi06
{
publicstaticvoidmain(String[]args){
int
a,b,m;
Scanners=newScanner(System.in);
System.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);
}
}
classdeff{
publicintdeff(intx,inty){
intt;
if(x<y){
t=x;
x=y;
y=t;
}
while(y!=0){
if(x==y)returnx;
else{
intk=x%y;
x=y;
y=k;
}
}
returnx;
}
}
【程序7】
題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字與其它字符的個數(shù)。
importjava.util.*;
publicclasslianxi07{
publicstaticvoidmain(String[]args){
intdigital=0;
intcharacter=0;
intother=0;
intblank=0;
char[]ch=null;
Scannersc=newScanner(System.in);
Strings=sc.nextLine();
ch=s.toCharArray();
for(inti=0;i<ch.length;i++){
if(ch>='0'&&ch<='9'){
digital++;
}elseif((ch>='a'&&ch<='z')||ch>'A'&&ch<='Z'){
character++;
}elseif(ch==''){
blank++;
}else{
other++;
}
}
System.out.println("數(shù)字個數(shù):"+digital);
System.out.println("英文字母個數(shù):"+character);
System.out.println("空格個數(shù):"+blank);
System.out.println("其他字符個數(shù):"+other);【程序8】
題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。
importjava.util.*;
publicclasslianxi08{
publicstaticvoidmain(String[]args){
longa,b=0,sum=0;
Scanners=newScanner(System.in);
System.out.print("輸入數(shù)字a的值:");
a=s.nextInt();
System.out.print("輸入相加的項數(shù):");
intn=s.nextInt();
inti=0;
while(i<n){
b=b+a;
sum=sum+b;
a=a*10;
++i;
}
System.out.println(sum);
}
}
【程序9】
題目:一個數(shù)如果恰好等于它的因子之與,這個數(shù)就稱為"完數(shù)"。例如6=1+2+3.編程
找出1000以內(nèi)的所有完數(shù)。
publicclasslianxi09{
publicstaticvoidmain(String[]args){
System.out.println("1到1000的完數(shù)有:");
for(inti=1;i<1000;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次落地時,共經(jīng)過多少米?第10次反彈多高?
publicclasslianxi10{
publicstaticvoidmain(String[]args){
doubleh=100,s=100;
for(inti=1;i<10;i++){
s=s+h;
h=h/2;
}
System.out.println("經(jīng)過路程:"+s);
System.out.println("反彈高度:"+h/2);
}
}
【程序11】
題目:有1、2、3、4四個數(shù)字,能組成多少個互不一樣且無重復(fù)數(shù)字的三位數(shù)?都是多少?
publicclasslianxi11{
publicstaticvoidmain(String[]args){
intcount=0;
for(intx=1;x<5;x++){
for(inty=1;y<5;y++){
for(intz=1;z<5;z++){
if(x!=y&&y!=z&&x!=z){
count++;
System.out.println(x*100+y*10+z);
}
}
}
}
System.out.println("共有"+count+"個三位數(shù)");
}
}
【程序12】
題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的局部按10%提成,高于10萬元的局部,可可提成7.5%;20萬到40萬之間時,高于20萬元的局部,可提成5%;40萬到60萬之間時高于40萬元的局部,可提成3%;60萬到100萬之間時,高于60萬元的局部,可提成1.5%,高于100萬元時,超過100萬元的局部按1%提成,從鍵盤輸入當(dāng)月利潤,求應(yīng)發(fā)放獎金總數(shù)?
importjava.util.*;
publicclasslianxi12{
publicstaticvoidmain(String[]args){
doublex=0,y=0;
System.out.print("輸入當(dāng)月利潤〔萬〕:");
Scanners=newScanner(System.in);
x=s.nextInt();
if(x>0&&x<=10){
y=x*0.1;
}elseif(x>10&&x<=20){
y=10*0.1+(x-10)*0.075;
}elseif(x>20&&x<=40){
y=10*0.1+10*0.075+(x-20)*0.05;
}elseif(x>40&&x<=60){
y=10*0.1+10*0.075+20*0.05+(x-40)*0.03;
}elseif(x>60&&x<=100){
y=20*0.175+20*0.05+20*0.03+(x-60)*0.015;
}elseif(x>100){
y=20*0.175+40*0.08+40*0.015+(x-100)*0.01;
}
System.out.println("應(yīng)該提取的獎金是"+y+"萬");
}
}【程序13】
題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?
publicclasslianxi13{
publicstaticvoidmain(String[]args){
for(intx=1;x<100000;x++){
if(Math.sqrt(x+100)%1==0){
if(Math.sqrt(x+268)%1==0){
System.out.println(x+"加100是一個完全平方數(shù),再加168又是一個完全平方數(shù)");
}
}
}
}
}
/*按題意循環(huán)應(yīng)該從-100開場〔整數(shù)包括正整數(shù)、負(fù)整數(shù)、零〕,這樣會多一個滿足條件的數(shù)-99。
但是我看到大局部人解這道題目時都把題中的“整數(shù)〞理解成正整數(shù),我也就隨大流了。*/
【程序14】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
importjava.util.*;
publicclasslianxi14{
publicstaticvoidmain(String[]args){
intyear,month,day;
intdays=0;
intd=0;
inte;
inputfymd=newinput();
do{
e=0;
System.out.print("輸入年:");
year=fymd.input();
System.out.print("輸入月:");
month=fymd.input();
System.out.print("輸入天:");
day=fymd.input();
if(year<0||month<0||month>12||day<0||day>31){
System.out.println("輸入錯誤,請重新輸入!");
e=1;
}
}while(e==1);
for(inti=1;i<month;i++){
switch(i){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
break;
case4:
case6:
case9:
case11:
days=30;
break;
case2:
if((year%400==0)||(year%4==0&&year%100!=0)){
days=29;
}else{
days=28;
}
break;
}
d+=days;
}
System.out.println(year+"-"+month+"-"+day+"是這年的第"+(d+day)+"天。");
}
}
classinput{
publicintinput(){
intvalue=0;
Scanners=newScanner(System.in);
value=s.nextInt();
returnvalue;
}
}【程序15】
題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。
importjava.util.*;
publicclasslianxi15{
publicstaticvoidmain(String[]args){
inputfnc=newinput();
intx=0,y=0,z=0;
System.out.print("輸入第一個數(shù)字:");
x=fnc.input();
System.out.print("輸入第二個數(shù)字:");
y=fnc.input();
System.out.print("輸入第三個數(shù)字:");
z=fnc.input();
if(x>y){
intt=x;
x=y;
y=t;
}
if(x>z){
intt=x;
x=z;
z=t;
}
if(y>z){
intt=y;
y=z;
z=t;
}
System.out.println("三個數(shù)字由小到大排列為:"+x+""+y+""+z);
}
}
classinput{
publicintinput(){
intvalue=0;
Scanners=newScanner(System.in);
value=s.nextInt();
returnvalue;
}
}
【程序16】
題目:輸出9*9口訣。
publicclasslianxi16{
publicstaticvoidmain(String[]args){
for(inti=1;i<10;i++){
for(intj=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"
");
if(j*i<10){System.out.print("");}
}
System.out.println();
}
}
}
【程序17】
題目:猴子吃桃問題:猴子第一天摘下假設(shè)干個桃子,當(dāng)即吃了一半,還不癮,又多吃了一個
第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下
的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
publicclasslianxi17{
publicstaticvoidmain(String[]args){
intx=1;
for(inti=2;i<=10;i++){
x=(x+1)*2;
}
System.out.println("猴子第一天摘了"+x+"個桃子");
}
}【程序18】
題目:兩個乒乓球隊進(jìn)展比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不與x比,c說他不與x,z比,請編程序找出三隊賽手的名單。
publicclasslianxi18{staticchar[]m={'a','b','c'};
staticchar[]n={'x','y','z'};publicstaticvoidmain(String[]args){
for(inti=0;i<m.length;i++){
for(intj=0;j<n.length;j++){
if(m[i]=='a'&&n[j]=='x'){
continue;}elseif(m[i]=='a'&&n[j]=='y'){
continue;
}elseif((m[i]=='c'&&n[j]=='x')
||(m[i]=='c'&&n[j]=='z')){
continue;
}elseif((m[i]=='b'&&n[j]=='z')
||(m[i]=='b'&&n[j]=='y')){
continue;
}else
System.out.println(m[i]+"vs"+n[j]);【程序19】
題目:打印出如下列圖案〔菱形〕
*
***
*****
*******
*****
***
*
publicclasslianxi19{
publicstaticvoidmain(String[]args){
intH=7,W=7;//高與寬必須是相等的奇數(shù)
for(inti=0;i<(H+1)/2;i++){
for(intj=0;j<W/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項之與。
publicclasslianxi20{
publicstaticvoidmain(String[]args){
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項相加之與是:"+sum);
}
}【程序21】
題目:求1+2!+3!+...+20!的與
publicclasslianxi21{
publicstaticvoidmain(String[]args){
longsum=0;
longfac=1;
for(inti=1;i<=20;i++){
fac=fac*i;
sum+=fac;
}
System.out.println(sum);
}【程序22】
題目:利用遞歸方法求5!。
publicclasslianxi22{
publicstaticvoidmain(String[]args){
intn=5;
recfr=newrec();
System.out.println(n+"!="+fr.rec(n));
}
}
classrec{
publiclongrec(intn){
longvalue=0;
if(n==1){
value=1;
}else
{
value=n*rec(n-1);
}
returnvalue;
}
}【程序23】
題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?
publicclasslianxi23{
publicstaticvoidmain(String[]args){
intage=10;
for(inti=2;i<=5;i++){
age=age+2;
}
System.out.println(age);
}
}【程序24】
題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。
//使用了長整型最多輸入18位
importjava.util.*;
publicclasslianxi24{
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
System.out.print("請輸入一個正整數(shù):");
longa=s.nextLong();
Stringss=Long.toString(a);
char[]ch=ss.toCharArray();
intj=ch.length;
System.out.println(a+"是一個"+j+"位數(shù)。");
System.out.print("按逆序輸出是:");
for(inti=j-1;i>=0;i--){
System.out.print(ch[i]);
}
}
}
【程序25】
題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位一樣,十位與千位一樣。
importjava.util.*;
publicclasslianxi25{
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
inta;
do{
System.out.print("請輸入一個5位正整數(shù):");
a=s.nextInt();
}while(a<10000||a>99999);
Stringss=String.valueOf(a);
char[]ch=ss.toCharArray();
if(ch[0]==ch[4]&&ch[1]==ch[3]){
System.out.println("這是一個回文數(shù)");}
else{System.out.println("這不是一個回文數(shù)");}
}
}
//這個更好,不限位數(shù)
importjava.util.*;
publicclasslianxi25a{
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
booleanis=true;
System.out.print("請輸入一個正整數(shù):");
longa=s.nextLong();
Stringss=Long.toString(a);
char[]ch=ss.toCharArray();
intj=ch.length;
for(inti=0;i<j/2;i++){
if(ch[i]!=ch[j-i-1]){is=false;}
}
if(is==true){System.out.println("這是一個回文數(shù)");}
else{System.out.println("這不是一個回文數(shù)");}
}
}
【程序26】
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,那么繼續(xù)
判斷第二個字母。
importjava.util.*;
publicclasslianxi26{
publicstaticvoidmain(String[]args){
getChartw=newgetChar();
System.out.println("請輸入星期的第一個大寫字母:");
charch=tw.getChar();
switch(ch){
case'M':
System.out.println("Monday");
break;
case'W':
System.out.println("Wednesday");
break;
case'F':
System.out.println("Friday");
break;
case'T':{
System.out.println("請輸入星期的第二個字母:");
charch2=tw.getChar();
if(ch2=='U'){System.out.println("Tuesday");}
elseif(ch2=='H'){System.out.println("Thursday");}
else{System.out.println("無此寫法!");
}
};
break;
case'S':{
System.out.println("請輸入星期的第二個字母:");
charch2=tw.getChar();
if(ch2=='U'){System.out.println("Sunday");}
elseif(ch2=='A'){System.out.println("Saturday");}
else{System.out.println("無此寫法!");
}
};
break;
default:System.out.println("無此寫法!");
}
}
}
classgetChar{
publicchargetChar(){
Scanners=newScanner(System.in);
Stringstr=s.nextLine();
charch=str.charAt(0);
if(ch<'A'||ch>'Z'){
System.out.println("輸入錯誤,請重新輸入");
ch=getChar();
}
returnch;
}
}
【程序27】
題目:求100之內(nèi)的素數(shù)
//使用除sqrt(n)的方法求出的素數(shù)不包括2與3
publicclasslianxi27{
publicstaticvoidmain(String[]args){
booleanb=false;
System.out.print(2+"");
System.out.print(3+"");
for(inti=3;i<100;i+=2){
for(intj=2;j<=Math.sqrt(i);j++){
if(i%j==0){b=false;
break;
}else{b=true;}
}
if(b==true){System.out.print(i+"");}
}
}
}
//該程序使用除1位素數(shù)得2位方法,運(yùn)行效率高通用性差。
publicclasslianxi27a{
publicstaticvoidmain(String[]args){
int[]a=newint[]{2,3,5,7};
for(intj=0;j<4;j++)System.out.print(a[j]+"");
booleanb=false;
for(inti=11;i<100;i+=2){
for(intj=0;j<4;j++){
if(i%a[j]==0){b=false;
break;
}else{b=true;}
}
if(b==true){System.out.print(i+"");}
}
}
}
【程序28】
題目:對10個數(shù)進(jìn)展排序
importjava.util.*;
publicclasslianxi28{
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
int[]a=newint[10];
System.out.println("請輸入10個整數(shù):");
for(inti=0;i<10;i++){
a[i]=s.nextInt();
}
for(inti=0;i<10;i++){
for(intj=i+1;j<10;j++){
if(a[i]>a[j]){
intt=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(inti=0;i<10;i++){
System.out.print(a[i]+"");
}
}
}
【程序29】
題目:求一個3*3矩陣對角線元素之與
importjava.util.*;
publicclasslianxi29{
publicstaticvoidmain(String[]args){
Scanners=newScanner(System.in);
int[][]a=newint[3][3];
System.out.println("請輸入9個整數(shù):");
for(inti=0;i<3;i++){
for(intj=0;j<3;j++){
a[i][j]=s.nextInt();
}
}
System.out.println("輸入的3*3矩陣是:");
for(inti=0;i<3;i++){
for(intj=0;j<3;j++){
System.out.print(a[i][j]+"");
}
System.out.println();
}
intsum=0;
for(inti=0;i<3;i++){
for(intj=0;j<3;j++){
if(i==j){
sum+=a[i][j];
}
}
}
System.out.println("對角線之與是:"+sum);
}
}
【程序30】
題目:有一個已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。
//此程序不好,沒有使用折半查找插入
importjava.util.*;
publicclasslianxi30{
publicstaticvoidmain(String[]args)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB11T 1315-2015 綠色建筑工程驗收規(guī)范
- 醫(yī)師資格考試合格考生醫(yī)師聯(lián)網(wǎng)注冊及考核管理系統(tǒng)數(shù)據(jù)庫信息補(bǔ)錄(修改)辦理申請審核表
- 山東省煙臺市招遠(yuǎn)市2024-2025學(xué)年七年級上學(xué)期期中生物試題(含答案)
- 黑龍江省哈爾濱市南崗區(qū)哈爾濱市第六十九中學(xué)校2024-2025學(xué)年八年級上學(xué)期期中地理試題(含答案)
- 制冰機(jī)市場發(fā)展預(yù)測和趨勢分析
- 帶升降設(shè)備的立體車庫產(chǎn)業(yè)規(guī)劃專項研究報告
- 存儲卡讀卡器產(chǎn)業(yè)規(guī)劃專項研究報告
- 家具用皮緣飾市場需求與消費(fèi)特點分析
- 人教版英語八年級下冊 英語暑假作業(yè)(一)
- 人教版八年級英語上冊 暑假預(yù)習(xí)Unit 1 Section A
- 我最喜歡的建筑
- 關(guān)于變壓器溫控器的講解課件
- 疼痛的評估方法課件
- 國家開放大學(xué)《個人與團(tuán)隊管理》形考任務(wù)6參考答案
- 煙花爆竹安全管理條例課件
- 30第六章-抽樣方法課件
- 世界咖啡會議
- 電力公司消防知識培訓(xùn)課件
- 人教鄂教版六年級科學(xué)上冊全冊教學(xué)設(shè)計教案
- 三年級數(shù)學(xué)趣味競賽試題課件
- 一些液體的導(dǎo)熱系數(shù)
評論
0/150
提交評論