




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、習題11James Gosling21使用一個文本編輯器編寫源文件。2使用Java編譯器編譯Java源程序,得到字節碼文件。3使用Java解釋器運行Java程序3Java的源文件是由假設干個書寫形式互相獨立的類組成的。應用程序中可以沒有public類,假設有的話至多可以有一個public類。4系統環境path Djdkbin;系統環境classpath Djdkjrelibrt.jar;.;5 B6 Java源文件的擴展名是.java。Java字節碼的擴展名是.class。 7 D81Speak.java23java Xiti84執行java Speak的錯誤提示Exception in th
2、read "main" java.lang.NoSuchMethodError: main執行java xiti8得到的錯誤提示ang.NoClassDefFoundError: xiti8 (wrong name: Xiti8)Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class執行java Xiti8得到的輸出結果I'm glad to meet you習題21 D2【代碼1】 【代碼2】 錯誤 /【代碼3】更正為 float z=; 3float型常量后
3、面必須要有后綴“f或“F。對于double常量,后面可以有后綴“d或“D,但允許省略該后綴。4public class Xiti4 public static void main (String args ) char ch1='你',ch2='我',ch3='他' System.out.println("""+ch1+""的位置:"+(int)ch1); System.out.println("""+ch2+""的位置:"+(
4、int)ch2); System.out.println("""+ch3+""的位置:"+(int)ch3); 5數組名字.length6數組名字.length7 【代碼1】A,65【代碼2】-127【代碼3】8【代碼1】false【代碼2】true【代碼3】false【代碼4】3【代碼5】【代碼6】習題31 輸出110if-else語句書寫的不夠標準,復合語句缺少大括號“,代碼不夠清晰。2你好好酷!3public class Xiti3_3 public static void main (String args ) int sta
5、rtPosition=0,endPosition=0; char cStart='',cEnd='' startPosition=(int)cStart; /cStart做int型轉換據運算,并將結果賦值給startPosition endPosition=(int)cEnd ; /cEnd做int型轉換運算,并將結果賦值給endPosition System.out.println("俄文字母表:"); for(int i=startPosition;i<=endPosition;i+) char c='0' c=(c
6、har)i; /i做char型轉換運算,并將結果賦值給c System.out.print(" "+c); if(i-startPosition+1)%10=0) System.out.println(""); 4public class Xiti4 public static void main(String args) double sum=0,a=1;int i=1; while(i<=20) sum=sum+a; i+; a=a*i; System.out.println("sum="+sum); 5class Xiti
7、5 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 main(String args) double sum=0,a=1,i=1; while(i<=20) sum=sum+a; i+; a=(1.0/i)*a; System.out.println("使用
8、while循環計算的sum="+sum); for(sum=0,i=1,a=1;i<=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println("使用for循環計算的sum="+sum); 7public class Xiti7 public static void main(String args) 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.prin
9、tln("完數:"+i); 8方法之一import java.util.Scanner;public class Xiti8 public static void main (String args ) System.out.println("請輸入兩個非零正整數,每輸入一個數回車確認"); Scanner reader=new Scanner(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) t
10、emp=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("最大公約數 :"+gy); System.out.println("最小公倍數 :"+gb); 8方法之二import java.util.Scanner;public class Xiti8 public static void main (String args ) System.out.println("請輸入兩個非零正整數,每輸入一個數回車確認&
11、quot;); 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=0) gy=i; gb=m*n/gy; System.out.println(m+","+n+"的最大公約數為 "+gy); System.out.println(m+&quo
12、t;,"+n+"的最小公倍數為 "+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.out.println("滿足條件的最大整數:"+(n-1); / 1至7的階乘和是 / 1至8的階乘和是習題41用該類創立對象時。2所謂方法重載是在一個類中可以有多個方法具有相同的名字,但這些方法
13、的參數必須不同,即或者是參數的個數不同,或者是參數的類型不同。構造方法可以重載。3 可以。不可以。4不可以。5成員變量又分為實例變量和類變量,用static修飾的變量是類變量。那么類變量和實例變量有什么區別呢?一個類通過使用new運算符可以創立多個不同的對象,不同的對象的實例變量將被分配不同的內存空間;如果類中的成員變量有類變量,那么所有對象的這個類變量都分配給相同的一處內存,改變其中一個對象的這個類變量會影響其它對象的這個類變量。也就是說對象共享類變量。6C,D7【代碼1】,【代碼4】8sum=-10092710. *20#100習題51 如果子類和父類在同一個包中,那么子類自然地繼承了其父
14、類中不是private的成員變量作為自己的成員變量,并且也自然地繼承了父類中不是private的方法作為自己的方法。繼承的成員或方法的訪問權限保持不變。如果子類和父類不在同一個包中,那么子類繼承了父類的protected、public成員變量做為子類的成員變量,并且繼承了父類的protected、public方法為子類的方法,繼承的成員或方法的訪問權限保持不變。如果子類和父類不在同一個包里,子類不能繼承父類的友好變量和友好方法。只要子類中聲明的成員變量和父類中的成員變量同名時,子類就隱藏了繼承的成員變量。子類中定義一個方法,這個方法的類型和父類的方法的類型一致或者是父類的方法的類型的子類型,并
15、且這個方法的名字、參數個數、參數的類型和父類的方法完全相同,子類如此定義的方法稱作子類重寫的方法。子類通過方法的重寫可以隱藏繼承的方法。2不可以。3abstract類。4假設B類是A類子類或間接子類,當我們用子類B創立一個對象,并把這個對象的引用放到A類的對象中時,稱這個A類對象是子類對象的上轉型對象。5可以把實現某一接口的類創立的對象的引用賦給該接口聲明的接口變量中。那么該接口變量就可以調用被類實現的接口中的方法。6A,C,D78129class A public final void f() char cStart='a',cEnd='z' for(char
16、 c=cStart;c<=cEnd;c+) System.out.print(" "+c); class B extends A public void g() char cStart='',cEnd='' for(char c=cStart;c<=cEnd;c+) System.out.print(" "+c); public class Xiti9 public static void main (String args ) B b=new B(); b.f(); b.g(); 10class A publ
17、ic 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) 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(); Syste
18、m.out.println("最大公約數 :"+a.f(36,24); System.out.println("最小公倍數 :"+b.f(36,24); 習題61仍然有效。2可以。3不可以。4大家好,祝工作順利!5 96乘數超過99習題711Strategy是接口。2Army不是抽象類。3Army和Strategy是關聯關系。4StrategyA, StrategyB、StrategyC與Strategy是實現關系。Animal+cry():void + getAnimalName():StringDog+cry():void + getAnimalNa
19、me():StringSimulator+ playSound(Animal ): voidCat+cry():void + getAnimalName():String第5章的例子13的UML類圖23<<interface>>Advertisement+ showAdvertisement():void + getCorpName():StringAdvertisementBoard+ show(Advertisement adver): void第5章的例子17的UML類圖PhilipsCorp+ showAdvertisement():void + getCorp
20、Name():StringLenovoCorp+ showAdvertisement():void + getCorpName():String4例子13的設計符合開-閉原那么。5例子17的設計符合開-閉原那么。習題81 采用新增的策略為選手計算得分。增加新的具體策略StrategyFour。StrategyFour類將double computeScore(double a)方法實現為去掉數組a的元素中的一個最大值和一個最小值,然后計算剩余元素的幾何平均值。import java.util.Arrays;public class StrategyFour implements Computa
21、bleStrategy public double computeScore(double a) if(a.length<=2) return 0; double score=0,multi=1; Arrays.sort(a);-2; for(int i=1;i<a.length-1;i+) multi=multi*ai; score=Math.pow(multi,1.0/n); return score; 2(1)策略StrategyPrintCharacter.javapublic interface PrintCharacter public abstract void pr
22、intTable(char a,char b);(2) 具體策略 PrintStrategyOne.java public class PrintStrategyOne implements PrintCharacter public void printTable(char 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(
23、""); PrintStrategyTwo.javapublic class PrintStrategyTwo implements PrintCharacter public void printTable(char a,char b) for(int i=0;i<a.length;i+) System.out.print(bi+","+ai+","); 3上下文 PrintGame.java public class PrintGame PrintCharacter strategy; public void setStra
24、tegy(PrintCharacter strategy) this.strategy=strategy; public void getPersonScore(char a,char b) if(strategy=null) System.out.println("sorry!"); else strategy.printTable(a,b); 應用以上策略:public class Application public static void main(String args) char a=new char26; char b=new char26; for(int
25、i=0;i<=25;i+) ai=(char)('a'+i); for(int i=0;i<=25;i+) bi=(char)('A'+i); PrintGame game=new PrintGame(); /上下文對象 game.setStrategy(new PrintStrategyOne(); /上下文對象使用策略一 System.out.println("方案1:"); game.getPersonScore(a,b); game.setStrategy(new PrintStrategyTwo(); /上下文對象使用策
26、略二 System.out.println("方案2:"); game.getPersonScore(a,b); 習題91A,B,D 2 Love:Game313abc夏日41357959javaHello6public class Xiti6 public static void main (String args ) String s1,s2,s3,t1="ABCDabcd" System.out.println("字符串原來是這個樣子: "+t1); s1=t1.toUpperCase(); System.out.println
27、("字符串中的小寫字母變成大寫是這個樣子: "+s1); s2=t1.toLowerCase(); System.out.println("字符串中的大寫字母變成小寫是這個樣子: "+s2); s3=s1.concat(s2); System.out.println("大寫字符串連接小寫字符串是這個樣子: "+s3); 7class Xiti7 public static void main(String args ) String s ="中華人民共和國" char a=s.charAt(0); char b=s
28、.charAt(6); System.out.println("第一個字符: "+a); System.out.println("最后一個字符: "+b); 8import java.util.*;class Xiti8 public static void main(String args) int year,month; System.out.println("請輸入年份和月份,每輸入一個數回車確認"); Scanner reader=new Scanner(System.in); year= reader.nextInt();
29、month= reader.nextInt(); String day=new String42; System.out.println(" 日 一 二 三 四 五 六"); Calendar rili=Calendar.getInstance(); rili.set(year,month-1,1);/將日歷翻到year年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|m
30、onth=10|month=12) dayAmount=31; if(month=4|month=6|month=9|month=11) dayAmount=30; if(month=2) if(year%4=0)&&(year%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)+&quo
31、t; " ; else dayi=String.valueOf(n); n+; for(int i=星期幾+dayAmount;i<42;i+) dayi="" for(int i=0;i<星期幾;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.println("請輸入第一個日期的年份 月份 日期 ,每輸入一個數回車確認"); year1= reader.nextInt(); mont
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- “雙一流”高校圖書館開放資源利用狀況調查與優化建設研究
- 智能化綜采工作面的系統設計及實踐應用
- 深度學習在文本語義理解和應用中的發展研究
- 基于小樣本數據的信用風險分類模型研究
- 虛擬地理建模與歷史空間重構-洞察闡釋
- 認知神經科學視角下的學習遷移機制-洞察闡釋
- 跨國公司治理與全球法律研究-洞察闡釋
- 油料安全課件
- 環保智能系統在畜牧業中的應用-洞察闡釋
- 大數據可視化與分析-洞察闡釋
- GB/T 21671-2018基于以太網技術的局域網(LAN)系統驗收測試方法
- GB/T 11177-1989無機膠粘劑套接壓縮剪切強度試驗方法
- 鈷領域:華友鈷業企業組織結構及部門職責
- 內容參考zipc教程
- FZ/T 43022-2011莨綢工藝飾品
- 基金投資管理系統O32用戶手冊-股指期貨套保系統
- 機械原理課程設計-自動打印機設計說明書
- 冰山模型提出者麥克利蘭教授6族勝任力分析模型
- 建設工程消防設計審查申報表
- 江西省中考語文備考及答題技巧——語文考點及答題策略-人教版初中九年級全冊語文素材
- 成立生物安全委員會及工作制度管理辦法和職責
評論
0/150
提交評論