




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、習(xí)題解答習(xí)題11James Gosling2需3個(gè)步驟:1) 用文本編輯器編寫源文件。 2) 使用javac編譯源文件,得到字節(jié)碼文件。3) 使用解釋器運(yùn)行程序。3由類構(gòu)成。不是必須的。4 path=D:jdkbin;set classpath=D:jdkjrelibrt.jar;.;5. B6. Java源文件的擴(kuò)展名是.java,Java字節(jié)碼的擴(kuò)展名是.class。7D。 8 A:Speak.java。B:兩個(gè)字節(jié)碼文件,Speak.class和Xiti8.class。C:java Xiti8。D:執(zhí)行java Speak的錯(cuò)誤提示Exception in thread "ma
2、in" java.lang.NoSuchMethodError: main執(zhí)行java xiti8得到的錯(cuò)誤提示Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8)執(zhí)行java Xiti8.class得到的錯(cuò)誤提示Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class執(zhí)行java Xiti8得到的輸出結(jié)果I'm glad to meet
3、you(4)9屬于操作題,解答略。習(xí)題21 D2【代碼1】 【代碼2】 錯(cuò)誤 /【代碼3】更正為 float z=6.89F; 3float型常量后面必須要有后綴“f”或“F”。對(duì)于double常量,后面可以有后綴“d”或“D”,但允許省略該后綴。4public class Xiti4 public static void main (String args ) char ch1='你',ch2='我',ch3='他' System.out.println("""+ch1+""的位置:"
4、+(int)ch1); System.out.println("""+ch2+""的位置:"+(int)ch2); System.out.println("""+ch3+""的位置:"+(int)ch3); 5數(shù)組名字.length6數(shù)組名字.length7 【代碼1】A,65【代碼2】-127【代碼3】 123456.783,123456.783128【代碼1】false【代碼2】true【代碼3】false【代碼4】3【代碼5】4.4【代碼6】8.8習(xí)題31 輸出110i
5、f-else語(yǔ)句書寫的不夠規(guī)范,復(fù)合語(yǔ)句缺少大括號(hào)“”,代碼不夠清晰。2你好好酷!3public class Xiti3_3 public static void main (String args ) int startPosition=0,endPosition=0; char cStart='',cEnd='' startPosition=(int)cStart; /cStart做int型轉(zhuǎn)換據(jù)運(yùn)算,并將結(jié)果賦值給startPosition endPosition=(int)cEnd ; /cEnd做int型轉(zhuǎn)換運(yùn)算,并將結(jié)果賦值給endPosition
6、System.out.println("俄文字母表:"); for(int i=startPosition;i<=endPosition;i+) char c='0' c=(char)i; /i做char型轉(zhuǎn)換運(yùn)算,并將結(jié)果賦值給c System.out.print(" "+c); if(i-startPosition+1)%10=0) System.out.println(""); 4public class Xiti4 public static void main(String args) double s
7、um=0,a=1;int i=1; while(i<=20) sum=sum+a; i+; a=a*i; System.out.println("sum="+sum); 5class Xiti5 public static void main(String args) int i,j; for(j=2;j<=100;j+) for(i=2;i<=j/2;i+) if(j%i=0) break; if(i>j/2) System.out.print(" "+j); 6class Xiti6 public static void ma
8、in(String args) double sum=0,a=1,i=1; while(i<=20) sum=sum+a; i+; a=(1.0/i)*a; System.out.println("使用while循環(huán)計(jì)算的sum="+sum); for(sum=0,i=1,a=1;i<=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println("使用for循環(huán)計(jì)算的sum="+sum); 7public class Xiti7 public static void main(String args)
9、int sum=0,i,j; for(i=1;i<=1000;i+) for(j=1,sum=0;j<i;j+) if(i%j=0) sum=sum+j; if(sum=i) System.out.println("完數(shù):"+i); 8方法之一import java.util.Scanner;public class Xiti8 public static void main (String args ) System.out.println("請(qǐng)輸入兩個(gè)非零正整數(shù),每輸入一個(gè)數(shù)回車確認(rèn)"); Scanner reader=new Scann
10、er(System.in); int m=0,n=0,temp=0,gy=0,gb=0,a,b; a=m = reader.nextInt(); b=n = reader.nextInt(); if(m<n) temp=m; m=n; n=temp; int r=m%n; while(r!=0) n=m; m=r; r=m%n; gy=n; gb=a*b/gy; System.out.println("最大公約數(shù) :"+gy); System.out.println("最小公倍數(shù) :"+gb); 8方法之二import java.util.Scan
11、ner;public class Xiti8 public static void main (String args ) System.out.println("請(qǐng)輸入兩個(gè)非零正整數(shù),每輸入一個(gè)數(shù)回車確認(rèn)"); Scanner reader=new Scanner(System.in); int m=0,n=0,t=0,gy=0,gb=0; m = reader.nextInt(); n = reader.nextInt(); if(m>n) t=m; m=n; n=t; for(int i=1;i<=m;i+) if(m%i=0 && n%i
12、=0) gy=i; gb=m*n/gy; System.out.println(m+","+n+"的最大公約數(shù)為 "+gy); System.out.println(m+","+n+"的最小公倍數(shù)為 "+gb); 9public class Xiti9 public static void main(String args) int n=1; long sum=0,t=1; t=n*t; while(true) sum=sum+t; if(sum>9999) break; n+; t=n*t; System.
13、out.println("滿足條件的最大整數(shù):"+(n-1); / 1至7的階乘和是sum=5913.0 / 1至8的階乘和是sum=46233.0習(xí)題41用該類創(chuàng)建對(duì)象時(shí)。2所謂方法重載是在一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同。構(gòu)造方法可以重載。3 可以。不可以。4不可以。5成員變量又分為實(shí)例變量和類變量,用static修飾的變量是類變量。那么類變量和實(shí)例變量有什么區(qū)別呢?一個(gè)類通過使用new運(yùn)算符可以創(chuàng)建多個(gè)不同的對(duì)象,不同的對(duì)象的實(shí)例變量將被分配不同的內(nèi)存空間;如果類中的成員變量有類變量,那么所有
14、對(duì)象的這個(gè)類變量都分配給相同的一處內(nèi)存,改變其中一個(gè)對(duì)象的這個(gè)類變量會(huì)影響其它對(duì)象的這個(gè)類變量。也就是說對(duì)象共享類變量。6C,D7【代碼1】,【代碼4】8sum=-10092710. *20#100習(xí)題51 如果子類和父類在同一個(gè)包中,那么子類自然地繼承了其父類中不是private的成員變量作為自己的成員變量,并且也自然地繼承了父類中不是private的方法作為自己的方法。繼承的成員或方法的訪問權(quán)限保持不變。如果子類和父類不在同一個(gè)包中,那么子類繼承了父類的protected、public成員變量做為子類的成員變量,并且繼承了父類的protected、public方法為子類的方法,繼承的成員或
15、方法的訪問權(quán)限保持不變。如果子類和父類不在同一個(gè)包里,子類不能繼承父類的友好變量和友好方法。只要子類中聲明的成員變量和父類中的成員變量同名時(shí),子類就隱藏了繼承的成員變量。子類中定義一個(gè)方法,這個(gè)方法的類型和父類的方法的類型一致或者是父類的方法的類型的子類型,并且這個(gè)方法的名字、參數(shù)個(gè)數(shù)、參數(shù)的類型和父類的方法完全相同,子類如此定義的方法稱作子類重寫的方法。子類通過方法的重寫可以隱藏繼承的方法。2不可以。3abstract類。4假設(shè)B類是A類子類或間接子類,當(dāng)我們用子類B創(chuàng)建一個(gè)對(duì)象,并把這個(gè)對(duì)象的引用放到A類的對(duì)象中時(shí),稱這個(gè)A類對(duì)象是子類對(duì)象的上轉(zhuǎn)型對(duì)象。5可以把實(shí)現(xiàn)某一接口的類創(chuàng)建的對(duì)象的
16、引用賦給該接口聲明的接口變量中。那么該接口變量就可以調(diào)用被類實(shí)現(xiàn)的接口中的方法。6A,C,D715.08.0898.0129class A public final void f() char cStart='a',cEnd='z' for(char c=cStart;c<=cEnd;c+) System.out.print(" "+c); class B extends A public void g() char cStart='',cEnd='' for(char c=cStart;c<=cE
17、nd;c+) System.out.print(" "+c); public class Xiti9 public static void main (String args ) B b=new B(); b.f(); b.g(); 10class A public int f(int a,int b) if(b<a) int temp=0; temp=a; a=b; b=temp; int r=b%a; while(r!=0) b=a; a=r; r=b%a; return a; class B extends A public int f(int a,int b)
18、 int division=super.f(a,b); return (a*b)/division; public class Xiti10 public static void main (String args ) A a=new A(); B b=new B(); System.out.println("最大公約數(shù) :"+a.f(36,24); System.out.println("最小公倍數(shù) :"+b.f(36,24); 習(xí)題61仍然有效。2可以。3不可以。4大家好,祝工作順利!5 96乘數(shù)超過99習(xí)題71(1)Strategy是接口。(2)A
19、rmy不是抽象類。(3)Army和Strategy是關(guān)聯(lián)關(guān)系。(4)StrategyA, StrategyB、StrategyC與Strategy是實(shí)現(xiàn)關(guān)系。Animal+cry():void + getAnimalName():StringDog+cry():void + getAnimalName():StringSimulator+ playSound(Animal ): voidCat+cry():void + getAnimalName():String第5章的例子13的UML類圖23<<interface>>Advertisement+ showAdvert
20、isement():void + getCorpName():StringAdvertisementBoard+ show(Advertisement adver): void第5章的例子17的UML類圖PhilipsCorp+ showAdvertisement():void + getCorpName():StringLenovoCorp+ showAdvertisement():void + getCorpName():String4例子13的設(shè)計(jì)符合開-閉原則。5例子17的設(shè)計(jì)符合開-閉原則。習(xí)題81 采用新增的策略為選手計(jì)算得分。增加新的具體策略StrategyFour。Strate
21、gyFour類將double computeScore(double a)方法實(shí)現(xiàn)為去掉數(shù)組a的元素中的一個(gè)最大值和一個(gè)最小值,然后計(jì)算剩余元素的幾何平均值。import java.util.Arrays;public class StrategyFour implements ComputableStrategy public double computeScore(double a) if(a.length<=2) return 0; double score=0,multi=1; Arrays.sort(a); int n=a.length-2; for(int i=1;i<
22、a.length-1;i+) multi=multi*ai; score=Math.pow(multi,1.0/n); return score; 2(1)策略(Strategy)PrintCharacter.javapublic interface PrintCharacter public abstract void printTable(char a,char b);(2) 具體策略 PrintStrategyOne.java public class PrintStrategyOne implements PrintCharacter public void printTable(ch
23、ar a,char b) for(int i=0;i<a.length;i+) System.out.print(ai+","); for(int i=0;i<b.length;i+) System.out.print(bi+","); System.out.println(""); PrintStrategyTwo.javapublic class PrintStrategyTwo implements PrintCharacter public void printTable(char a,char b) for(in
24、t i=0;i<a.length;i+) System.out.print(bi+","+ai+","); (3)上下文 PrintGame.java public class PrintGame PrintCharacter strategy; public void setStrategy(PrintCharacter strategy) this.strategy=strategy; public void getPersonScore(char a,char b) if(strategy=null) System.out.println(&
25、quot;sorry!"); else strategy.printTable(a,b); 應(yīng)用以上策略:public class Application public static void main(String args) char a=new char26; char b=new char26; for(int i=0;i<=25;i+) ai=(char)('a'+i); for(int i=0;i<=25;i+) bi=(char)('A'+i); PrintGame game=new PrintGame(); /上下文對(duì)象 g
26、ame.setStrategy(new PrintStrategyOne(); /上下文對(duì)象使用策略一 System.out.println("方案1:"); game.getPersonScore(a,b); game.setStrategy(new PrintStrategyTwo(); /上下文對(duì)象使用策略二 System.out.println("方案2:"); game.getPersonScore(a,b); 3參照本章8.3.3自主完成。習(xí)題91A,B,D 2 Love:Game313abc夏日41357959javaHello6publi
27、c class Xiti6 public static void main (String args ) String s1,s2,s3,t1="ABCDabcd" System.out.println("字符串原來是這個(gè)樣子: "+t1); s1=t1.toUpperCase(); System.out.println("字符串中的小寫字母變成大寫是這個(gè)樣子: "+s1); s2=t1.toLowerCase(); System.out.println("字符串中的大寫字母變成小寫是這個(gè)樣子: "+s2); s3
28、=s1.concat(s2); System.out.println("大寫字符串連接小寫字符串是這個(gè)樣子: "+s3); 7class Xiti7 public static void main(String args ) String s ="中華人民共和國(guó)" char a=s.charAt(0); char b=s.charAt(6); System.out.println("第一個(gè)字符: "+a); System.out.println("最后一個(gè)字符: "+b); 8import java.util.*;
29、class Xiti8 public static void main(String args) int year,month; System.out.println("請(qǐng)輸入年份和月份,每輸入一個(gè)數(shù)回車確認(rèn)"); Scanner reader=new Scanner(System.in); year= reader.nextInt(); month= reader.nextInt(); String day=new String42; System.out.println(" 日 一 二 三 四 五 六"); Calendar rili=Calenda
30、r.getInstance(); rili.set(year,month-1,1);/將日歷翻到y(tǒng)ear年month月1日,注意0表示一月.11表示十二月 int 星期幾=rili.get(Calendar.DAY_OF_WEEK)-1; int dayAmount=0; if(month=1|month=3|month=5|month=7|month=8|month=10|month=12) dayAmount=31; if(month=4|month=6|month=9|month=11) dayAmount=30; if(month=2) if(year%4=0)&&(y
31、ear%100!=0)|(year%400=0) dayAmount=29; else dayAmount=28; for(int i=0;i<星期幾;i+) dayi="" for(int i=星期幾,n=1;i<星期幾+dayAmount;i+) if(n<=9) dayi=String.valueOf(n)+" " ; else dayi=String.valueOf(n); n+; for(int i=星期幾+dayAmount;i<42;i+) dayi="" for(int i=0;i<星期幾
32、;i+) dayi="*" for(int i=0;i<day.length;i+) if(i%7=0) System.out.println(""); System.out.print(" "+dayi); 9import java.util.*;class Xiti9 public static void main(String args) int year1,month1,day1,year2,month2,day2; Scanner reader=new Scanner(System.in); System.out.pr
33、intln("請(qǐng)輸入第一個(gè)日期的年份 月份 日期 ,每輸入一個(gè)數(shù)回車確認(rèn)"); year1= reader.nextInt(); month1= reader.nextInt(); day1= reader.nextInt(); System.out.println("請(qǐng)輸入第二個(gè)日期的年份 月份 日期 ,每輸入一個(gè)數(shù)回車確認(rèn)"); year2= reader.nextInt(); month2= reader.nextInt(); day2= reader.nextInt(); Calendar calendar=Calendar.getInstanc
34、e(); calendar.set(year1,month1,day1); long timeYear1=calendar.getTimeInMillis(); calendar.set(year2,month2,day2); long timeYear2=calendar.getTimeInMillis(); long 相隔天數(shù)=Math.abs(timeYear1-timeYear2)/(1000*60*60*24); System.out.println(""+year1+"年"+month1+"月"+day1+"日和
35、"+ year2+"年"+month2+"月"+day2+"日相隔"+相隔天數(shù)+"天"); 10public class Xiti10 public static void main(String args) double a=0,b=0,c=0; a=12; b=24; c=Math.max(a,b); System.out.println(c); c=Math.min(a,b); System.out.println(c); c=Math.pow(2,3); System.out.println(c)
36、; c=Math.abs(-0.123); System.out.println(c); c=Math.asin(0.56); System.out.println(c); c=Math.cos(3.14); System.out.println(c); c=Math.exp(1); System.out.println(c); c=Math.log(8); System.out.println(c); 習(xí)題101BorderLayout布局。2不可以。3A,C。4import java.util.StringTokenizer;import java.awt.*;import java.aw
37、t.event.*; import javax.swing.*;public class Xiti4 public static void main(String args) ComputerFrame fr=new ComputerFrame(); fr.setTitle("計(jì)算的窗口"); class ComputerFrame extends JFrame implements TextListener TextArea text1,text2; int count=1; double sum=0,aver=0; public ComputerFrame() setL
38、ayout(new FlowLayout(); text1=new TextArea(6,20); text2=new TextArea(6,20); add(text1); add(text2); text2.setEditable(false); text1.addTextListener(this); setSize(300,320); setVisible(true); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); validate();
39、 public void textValueChanged(TextEvent e) String s=text1.getText(); sum=0; aver=0; StringTokenizer fenxi=new StringTokenizer(s," ,'n'"); int n=fenxi.countTokens(); count=n; double a=new doublen; for(int i=0;i<=n-1;i+) String temp=fenxi.nextToken(); try ai=Double.parseDouble(tem
40、p); sum=sum+ai; catch(Exception ee) count-; aver=sum/count; text2.setText(null); text2.append("n和:"+sum); text2.append("n平均值:"+aver); 5import java.applet.*;import java.awt.*;import java.awt.event.*; public class Xiti5 public static void main(String args) ComputerFrame fr=new Comp
41、uterFrame(); fr.setTitle("計(jì)算"); class ComputerFrame extends Frame implements ActionListener TextField text1,text2,text3; Button button1,button2,button3,button4; Label label; public ComputerFrame() setLayout(new FlowLayout(); text1=new TextField(10); text2=new TextField(10); text3=new TextF
42、ield(10); label=new Label(" ",Label.CENTER); label.setBackground(Color.green); add(text1); add(label); add(text2); add(text3); button1=new Button("加"); button2=new Button("減"); button3=new Button("乘"); button4=new Button("除"); add(button1); add(butto
43、n2); add(button3); add(button4); button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); setSize(300,320); setVisible(true); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); v
44、alidate(); public void actionPerformed(ActionEvent e) double n; if(e.getSource()=button1) double n1,n2; try n1=Double.parseDouble(text1.getText(); n2=Double.parseDouble(text2.getText(); n=n1+n2; text3.setText(String.valueOf(n); label.setText("+"); catch(NumberFormatException ee) text3.setT
45、ext("請(qǐng)輸入數(shù)字字符"); else if(e.getSource()=button2) double n1,n2; try n1=Double.parseDouble(text1.getText(); n2=Double.parseDouble(text2.getText(); n=n1-n2; text3.setText(String.valueOf(n); label.setText("-"); catch(NumberFormatException ee) text3.setText("請(qǐng)輸入數(shù)字字符"); else if
46、(e.getSource()=button3) double n1,n2; try n1=Double.parseDouble(text1.getText(); n2=Double.parseDouble(text2.getText(); n=n1*n2; text3.setText(String.valueOf(n); label.setText("*"); catch(NumberFormatException ee) text3.setText("請(qǐng)輸入數(shù)字字符"); else if(e.getSource()=button4) double n1,n2; try n1=Double.parseDouble(text1.getText(); n2=Double.parseDouble(text2.getText(); n=n1/n2; text3.setText(String.valueOf(n); label.setText("/"); catch(NumberFormatException ee) text3.setText("請(qǐng)輸入數(shù)字字符");
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟考網(wǎng)絡(luò)管理員考試過程中應(yīng)注意事項(xiàng)試題及答案
- 數(shù)據(jù)庫(kù)管理試題及答案匯編
- 前臺(tái)文員的工作激勵(lì)機(jī)制計(jì)劃
- 依賴數(shù)據(jù)的生產(chǎn)階段評(píng)價(jià)計(jì)劃
- 利用協(xié)作工具增強(qiáng)工作效率計(jì)劃
- 2025年法學(xué)概論考試的結(jié)構(gòu)性學(xué)習(xí)方法及試題及答案
- 班級(jí)環(huán)境美化活動(dòng)的開展與分享計(jì)劃
- 2024年漳州市交發(fā)地產(chǎn)集團(tuán)有限公司招聘真題
- 課堂作業(yè)與反饋管理方案計(jì)劃
- 探索品牌文化與員工參與度計(jì)劃
- 【多旋翼無(wú)人機(jī)的組裝與調(diào)試分析6000字(論文)】
- GB/T 43299-2023機(jī)動(dòng)車玻璃電加熱性能試驗(yàn)方法
- 人教版八年級(jí)物理下冊(cè) 實(shí)驗(yàn)題01 力與運(yùn)動(dòng)的實(shí)驗(yàn)(含答案詳解)
- 商標(biāo)分割申請(qǐng)書
- 進(jìn)行性肌營(yíng)養(yǎng)不良新進(jìn)展
- 幼兒園故事課件:《狼來了》
- Unit4WhereIsMyShirt-Lesson15(課件)北京版英語(yǔ)二年級(jí)下冊(cè)
- 電力工程隱患隱患排查治理實(shí)施方案(三篇)
- 市政工程投資估算編制辦法(建標(biāo)2007164號(hào))
- 大眾朗逸2014款說明書
- 2022肝豆?fàn)詈俗冃栽\療指南
評(píng)論
0/150
提交評(píng)論