java考試代碼例題_第1頁
java考試代碼例題_第2頁
java考試代碼例題_第3頁
java考試代碼例題_第4頁
java考試代碼例題_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Java復習題匯總編程題 1、編程序,輸入a,b,c,求方程 a+bx+c=0 的解。package 一元二次方程2;import java.util.Scanner;public class 一元二次方程2 public static void main(String args) Scanner reader=new Scanner(System.in);double d=0;int i=0;double a=0;double b=0;double c=0;double dis=0;doi+;if(i>1)System.out.println("數(shù)值錯誤,

2、請重新輸入:");System.out.println("請輸入a的值:"); a=reader.nextInt();System.out.println("請輸入b的值:"); b=reader.nextInt();System.out.println("請輸入c的值:"); c=reader.nextInt();double dis2=b*b-4*a*c;d=dis2; dis=Math.sqrt(b*b-4*a*c);while(d<0);double x1=(-1*b+dis)/(2*a);double x2=

3、(-1*b-dis)/(2*a);System.out.println(x1);System.out.println(x2); 2、 編程計算: 1*2*3+3*4*5+99*100*101 的值。package 作業(yè)618;public class 作業(yè)618 public static void main(String args) int sum=0;for(int i=1;i<=50;i+)int a=(2*i-1)*(2*i)*(2*i+1);sum=sum+a;System.out.println(sum); 3、求全部水仙花數(shù)。所謂水仙花數(shù)是指一個三位數(shù),

4、其各位數(shù)字立方的和等于該數(shù)。如:153 = 。package 水仙花數(shù);public class 水仙花數(shù) public static void main(String args) for(int i=100;i<1000;i+) int y=i%10; int x=i/10%10; int z=i/10/10%10;int sum=x*x*x+y*y*y+z*z*z;if(sum=i)System.out.println(i+"是水仙花數(shù)"); 4、求下列式子的值,y=1-2+3-4+···+99-100并將結果輸出,格式為1-2+3-

5、4+···+99-100=表達式的值。package 作業(yè)620;import java.lang.StringBuffer;public class 作業(yè)620 public static void main(String args) StringBuffer a=new StringBuffer();a.append(1);int sum=0;int j=0;for(int i=1;i<=100;i+)int b=0;if(i%2=0) b=-1*i; a.append(b);elseb=i;if(j>0) a.append("+&quo

6、t;+b);sum=sum+b;j+;String c=a.toString();System.out.println(c+"="+sum); 5、請編制程序判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes;否則輸出no。package 作業(yè)621;import java.util.Scanner;public class 作業(yè)621 public static void main(String args) System.out.println("請輸入一個正整數(shù):");Scanner reader=new Scanner(System.in

7、);int a=reader.nextInt();int b=a%5;int c=a%7;if(b=0&&c=0)System.out.println("YES");elseSystem.out.println("NO"); 6、按以下要求編寫程序  (1) 編寫Animal接口,接口中聲明run() 方法 (2) 定義Bird類和Fish類實現(xiàn)Animal接口  (3) 編寫B(tài)ird類和Fish類的測試程序,并調(diào)用其中的run()方法 p

8、ackage 作業(yè)6231;public class 作業(yè)623 public static void main(String args) Bird a=new Bird();a.run();Fish b=new Fish();b.run(); interface Animalpublic void run(); class Bird implements Animal public void run() System.out.println("Bird方法實現(xiàn)了Animal接口"); class Fish implements Animal public void run

9、() System.out.println("Fish方法實現(xiàn)了Animal接口"); 7、按以下要求編寫程序  (1) 創(chuàng)建一個Rectangle類,添加width和height兩個成員變量 (2) 在Rectangle中添加兩種方法分別計算矩形的周長和面積 (3) 編程利用Rectangle輸出一個矩形的周長和面積 package 作業(yè)6232;public class Rectangle double width;double height;public static void main(

10、String args) Rectangle mj=new Rectangle();mj.mianji(2.5,3);mj.zhouchang(4,5);void mianji(double a,double b)double c=a*b;System.out.println(c);void zhouchang(double a,double b)double d=2*(a+b);System.out.println(); 8、對于給定的一個百分制成績,輸出相應的五分制成績。設:90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E 。package 作業(yè)62

11、33;import java.util.Scanner;public class 選擇1 public static void main(String args) Scanner reader=new Scanner(System.in);System.out.println("請輸入成績:");double a=reader.nextDouble();if(a>=90&&a<=100)System.out.println("A");else if(a<90&&a>=80)System.out.pr

12、intln("B");else if(a<80&&a>=70)System.out.println("C");if(a<70&&a>=60)System.out.println("D");if(a<60)System.out.println("E");elseSystem.out.println("輸入的成績錯誤"); 9、設n為自然數(shù),n!=1*2*3*···*n 稱為n的階乘,并規(guī)定0!=1.試編制程

13、序計算2!,4!,6!和10!,并將結果輸出到屏幕上。package 階乘1;public class tre public static void main(String args) jiecheng a=new jiecheng();a.xuhh(2);a.xuhh(4);a.xuhh(6);a.xuhh(10);class jiechengint i;void xuhh(int a)int n=a;int t=1;for(i=1;i<=n;i+)t=t*i;System.out.println(t); 10、(2.7)試編碼定義一個公有類 pubtest,它含有兩個浮點類型變量fv

14、ar1和 fvar2,還有一個整數(shù)類型的變量 ivar1, pubtest類中有一個方法 sumFI,它將fvar1 與ivar1 的值相加,結果放在 fvar2 中。package 作業(yè)6281;public class pubtest public static void main(String args) pubtest sum=new pubtest();sum.sumFI(12.3f, 12);float fvar1;float fvar2;int ivar1;void sumFI(float a,int b)fvar1=a;ivar1=b;fvar2=fvar1+ivar1;Sys

15、tem.out.println(fvar2); 11、(3.4)使用java.lang.Math類,生成100個099之間的隨機整數(shù),找出它們之中的最大者及最小者,并統(tǒng)計大于50的整數(shù)個數(shù)。提示:Math類支持random方法:Public static synchronized double random( )該方法返回一個0.01.0之間的小數(shù),如果要得到其他范圍的數(shù),需要進行相應的轉換。例如想得到一個099之間的整數(shù),可以使用下列語句:Int num=(int)(100*Math.random( );package 作業(yè)11;import java.lang.Math;public cl

16、ass 作業(yè)6282 public static void main(String args) int a=new int100;int g=0;/計數(shù)器int min=0;/最小值標記int max=0;/最大值標記for(int i=0;i<100;i+)/用for循環(huán)來得到100個數(shù)ai=(int)(100*Math.random();if(ai>50)g+;for(int j=0;j<a.length;j+)if(amin>aj)min=j;if(amax<aj)max=j;System.out.println(amin);System.out.print

17、ln(amax);System.out.println("大于50的正整數(shù)個數(shù)為"+g);12、(4.3)選擇一組等長的英文單詞,例如,一組4個字母組成的單詞:Work back come deal desk book java tool face一組5個字母組成的單詞:Watch match noise risky stock 試定義一個字符串數(shù)組,數(shù)組中每一個元素存儲一個英文單詞,元素個數(shù)根據(jù)選擇的英語單詞長度而定。再按照電話機表盤定義數(shù)字與字母的對應關系。如數(shù)字2對應a或b或c,數(shù)字5對應j或k或l?,F(xiàn)編制一個程序,要求將用戶輸入的數(shù)字串轉換成相應的字符串(注意一個數(shù)

18、字串對應多個字符串),將這些字符串與數(shù)組中存儲的英文單詞逐個比較,如果某一字符串與英文單詞匹配成功,則在屏幕上輸出數(shù)字串及對應的單詞,如果都不匹配,則在屏幕上輸出一條信息“沒有匹配的單詞”。(下面代碼復制粘貼時注意注釋部分換行報錯)package 作業(yè)12;import java.util.Scanner;public class 作業(yè)6283 public static void main(String args) String dt="work","back","come","deal","desk&

19、quot;,"book","java","tool","face"Scanner reader=new Scanner(System.in);System.out.println("請輸入一個四位數(shù):");int x=reader.nextInt();longth a=new longth();/用自定義的類longth建立對象aint i=a.changdu(x);/用a對下面方法的調(diào)用int temp=x;/將x的數(shù)值賦給temp,后面隨著求x各個位數(shù)上的數(shù)使得x值發(fā)生了變化,所以在后面用到

20、數(shù)值x初始值的地方即可以用temp來代替StringBuffer sz=new StringBufferi;/建立每個元素存儲內(nèi)容可以改變的字符串型數(shù)組sz,它的長度i就是調(diào)用方法所得的值String str=new Stringi;/建立一個長度為i的數(shù)組,為了后面將StringBuffer型數(shù)組轉變成String型數(shù)組后存入其內(nèi)部int ARRAY=new int4;/建立數(shù)組ARRAY來存儲x每個位上的數(shù)String basicChar="abc*def*ghi*jkl*mno*pqrs*tuv*wxyz" /字符串存儲電話號碼盤上的字母String sourceSt

21、rArray = basicChar.split("*");/以*為分界線將字符串分割成數(shù)組for(int T=0;T<sz.length;T+)/本類數(shù)組型變量引用本類對象szT=new StringBuffer();int aaa=sz.length;for(int j=4,h=0;h<4;j-,h+)/這個最大的for循環(huán)是為了求得每個位上的數(shù)int t=(int)Math.pow(10,j-1);ARRAYh=x/t;x=x%t;if(ARRAYh>=2&&ARRAYh<=6|ARRAYh=8)/結合前面,aaa的作用是起到了

22、計數(shù)器的作用,它的值隨著每一次的aaa=aaa/3;/大for循環(huán)執(zhí)行而除以3或者4,當電話盤號碼對應3個字母時除以3,對應/4個時除以4,else if(ARRAYh=7|ARRAYh=9)/再結合這里,以9675數(shù)字為例,該數(shù)字共需要144個長度的數(shù)組來保存,/第一次求得ARRAY0為9,所以執(zhí)行144除以4aaa=aaa/4;elseSystem.out.println("沒有匹配的單詞");break;for(int A=0,B=0,bbb=1;A<sz.length;A+)if(ARRAYh>=2&&ARRAYh<=6|ARRAY

23、h=8)if(A=aaa*bbb)B+;bbb+;int C=B%3;szA.append(sourceStrArrayARRAYh-2.charAt(C);else if(ARRAYh=7|ARRAYh=9)if(A=aaa*bbb)/在第一次執(zhí)行內(nèi)for循環(huán)時,當A小于144/4時,由于B=0,所以前144/4個元素的B+;/第一個字母都是存儲的9所對應的電話號碼盤的第一個字母p,當A=144/4之后,B加了1bbb+;/所以第二組144/4個元素存儲的是9所對應電話號碼盤的第二個元素q,同理,第三組144/4/個元素存儲的是第三個字母r,最后一組144/4個元素對應的是第四個字母sint

24、 D=B%4;/第二次執(zhí)行大for循環(huán)時,aaa的初始值發(fā)生了變化,每組元素的個數(shù)變成了144/4/3個/,給每組元素的第二個字母賦值。第三次執(zhí)行大for循環(huán),每組元素個數(shù)變成144/4/3/4個szA.append(sourceStrArrayARRAYh-2.charAt(D);/依次類推,最后給每個元素存儲了四個字母loop:for(int jq=0;jq<sz.length;jq+)strjq=szjq.toString();/將StringBuffer類型轉變?yōu)镾tring類型for(int bq=0;bq<9;bq+)if(strjq.equals(dtbq)/相等則按

25、要求輸出,跳出兩個循環(huán)System.out.println(temp);System.out.println(dtbq);break loop; if(jq=sz.length-1)/不想等按要求輸出System.out.println("沒有匹配的單詞");class longth/建立這個類的目的是要建立一個方法來查清一共需要多少個元素來存儲輸入數(shù)字串所對應的字母串int changdu(int x)int t=1;intb = 0,0,0,0;for(int a=0;a<4;a+)ba=x%10;x=x/10;for(int c=0;c<4;c+)if(b

26、c>=2&&bc<=6|bc=8)t=t*3;else if(bc=7|bc=9)t=t*4;return t; 13、(12.10)圖書館用一個文本文件booklist.txt記錄圖書的書目,其中包括book1,book2,···,book10?,F(xiàn)在又采購了一批新書,請利用本章中的內(nèi)容編寫一個程序,將新書的書目增加到原來的文本文件中。(被注釋掉部分是為了驗證對象已被寫入文件中,不需要出現(xiàn)在代碼中,在運行本程序時一定要先在d盤建立名為“java流練習”的文件,而且由于未找到方法讀取booklist1.txt中已經(jīng)提前存入的十本書的信息)

27、package 作業(yè)133;import java.io.*;public class 作業(yè)763 public static void main(String args) throws Exception T t1=new T();t1.author="巴爾扎克"t1.bookcode="book11"t1.bookname="高老頭"T t2=new T();t2.author="巴爾扎克"t2.bookcode="book12"t2.bookname="歐也妮·葛朗臺&

28、quot;T t3=new T();t3.author="大仲馬"t3.bookcode="book13"t3.bookname="基督山恩仇記"T t4=new T();t4.author="司湯達"t4.bookcode="book14"t4.bookname="紅與黑"FileOutputStream out;out=new FileOutputStream("F:java流練習bookList1.txt"); ObjectOutputStream

29、oos=new ObjectOutputStream(out); oos.writeObject(t1); oos.writeObject(t2); oos.writeObject(t3); oos.writeObject(t4); oos.flush(); oos.close();/ ObjectInputStream ois=new ObjectInputStream(new FileInputStream("F:java流練習bookList1.txt");/ T t5=(T)ois.readObject();/ T t6=(T)ois.readObject();/

30、T t7=(T)ois.readObject();/ T t8=(T)ois.readObject();/ System.out.println(t5.author+t5.bookcode+t5.bookname);/ System.out.println(t6.author+t6.bookcode+t6.bookname);/ System.out.println(t7.author+t7.bookcode+t7.bookname);/ System.out.println(t8.author+t8.bookcode+t8.bookname);class T implements Seria

31、lizableString bookname;String author;String bookcode;思考題1、 使用StringBuffer類與String類進行字符串連接時有何區(qū)別? String類進行字符串連接時會創(chuàng)建一個新的字符串對象,再將字符串常量指向這個新的字符串。StringBuffer類進行字符串連接時會在原來的字符串后面加上新的字符串。2、 swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 能作用在byte上,在jdk7.0之前,是不可以作用在long和String上。在jdk7.0之后,可以作用在long和String上

32、。3、 abstract class和interface有什么區(qū)別?見第24題4、 什么是Overload和Override,它們有什么區(qū)別?方法的重寫:Override 方法的重載:Overload見第20題5、 error和exception有什么區(qū)別?Error類描述內(nèi)部錯誤,它由系統(tǒng)保留,程序不能拋出這種類型的對象,Error類的對象不可捕獲、不可恢復,出錯時所能做的事情就是系統(tǒng)通知用戶并終止程序。而Exception類則可供程序使用,即可捕獲,可恢復。6、 (1.1)Java語言是由哪個公司推出的?簡述Java語言的特點。Sun Microsystem 公司簡單性 面向?qū)ο?/p>

33、 分布性健壯性 安全性 體系結構中立可移植性 解釋型語言 高效性多線程機制 動態(tài)性 7、 (1.2)什么是Java虛擬機?它包指哪幾部分?Java 虛擬機(Java Virtual Machine 簡稱JVM)是運行所有Java程序的抽象計算機,是 Java語言的運行環(huán)境。Java 虛擬機由五個部分組成:一組 指令集、一組 寄存器、一個 棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區(qū)域。8、 (l.3)簡述JVM的工作機制。(未驗證)第一步先加載class文件,整個過程分為裝載,連接,初始化三部分。第二部分是分配內(nèi)存區(qū)域,涉及到的區(qū)域有pc寄存器,JVM棧,

34、堆,方法區(qū)域,運行時常量池,本地方法堆棧。第三部分是執(zhí)行JVM垃圾回收。GC中用于回收的方法稱為收集器,由于GC需要消耗一些資源和時間,Java在對對象的生命周期特征進行分析后,按照新生代、舊生代的方式來對對象進行收集,以盡可能的縮短GC對應用造成的暫停。9、 (2.3)請敘述標識符的定義規(guī)則。Java語言規(guī)定標識符由字母、數(shù)字、下劃線、美元符號組成,且第一個字符不能是數(shù)字。10、 (2.4)Java中共有哪些基本數(shù)據(jù)類型,它們分別用什么符號來表示,各自的取值范圍是多大?試著對每種數(shù)據(jù)類型定義一個變量,并給它賦一個值。Java中共有四類八種基本數(shù)據(jù)類型。 屬于整型的是字節(jié)型(byte),基本型

35、(int),短整型(short),長整型(long) 屬于實型的是單精度(float),雙精度(double)。 字符型用char來表示 布爾型用boolean來表示boolean是只可以取兩個值,一個是true,一個是false。 boolean a=true;char從unicode字符集中取值。 char b='3'byte可以取-128到127之間的任意整數(shù) byte c=126;short可以取-32768到32767之間的任意整數(shù) short d=4527;int可以取-231到231-1之間的任意整數(shù)int e=163;long可以取值-263到263-1之間的任

36、意整數(shù)long f=965302l;float和double根據(jù)IEEE754-1985標準,F(xiàn)loat取值1.2E(-38)到3.4E381(未驗證)Double取值2.2E(-308)到1.8E3082(未驗證)float g=88.362f;double h=23.4e3;11、 (2.5)什么是類?什么是面向?qū)ο蟮某绦蛟O計方法?類是對某種具有共同特征的一類對象的定義,即類定義了一類對象的類型,屬于該類型的所有對象都具有相同的變量和方法。面向?qū)ο蟪绦蛟O計(OOP)是一種程序設計范型,同時也是一種程序開發(fā)的方法。面向?qū)ο蟪绦蛟O計可以看作一種在程序中包含各種獨立而又互相調(diào)用的對象的思想。面向

37、對象程序設計中的每一個對象都應該能夠接受數(shù)據(jù)、處理數(shù)據(jù)并將數(shù)據(jù)傳達給其它對象,因此它們都可以被看作一個小型的“機器”,即對象。12、 (5.1)詳細說明類是如何定義的,解釋類的特性及它的幾個要素。聲明一個類需要四個部分,第一是用類修飾符來修飾類名。第二是說明一個類的父類。第三是說明一個類所實現(xiàn)的接口。第四是類體類的三大特性是:類的繼承、類的封裝、類的多態(tài)類的構成要素有成員方法和成員變量和類聲明。(未驗證)13、 (5.3)什么是抽象類?它如何定義?抽象類是沒有具體對象的概念類,這樣的類要在class關鍵字前用修飾符abstract加以修飾。14、 (6.1)什么是異常?解釋拋出捕獲的含義。異常

38、指的是程序執(zhí)行時出現(xiàn)的意外情況,是不可以預測的。(未驗證)Java應用程序在運行時如果出現(xiàn)了一個可識別的錯誤,就會產(chǎn)生一個與該錯誤相對應的異常類的對象。這個對象包含了異常的類型和錯誤出現(xiàn)時所處的狀態(tài)信息,該異常對象首先被交給java虛擬機,由虛擬機來尋找具體的異常處理者。在java中把產(chǎn)生異常對象并將其交給java虛擬機的過程稱為拋出對象。當一個異常被拋出時會有一個專門的語句來識別這個被拋出的對象,這個過程被稱為異常的捕獲。15、 (6.2)java是如何處理異常的?Java采用的trycatch語句來捕獲和處理異常對象。一旦一個異常對象被拋出之后,用戶程序就會發(fā)生程序的跳轉至與這個異常對象匹

39、配的異常處理語句塊,來對異常進行處理。16、 (6.3)在什么情況下執(zhí)行try語句中finally后面的代碼段?在什么情況下不執(zhí)行?試舉例說明。有三種執(zhí)行情況,課本264頁最后及265頁開始Finally語句是一種強制的,無條件執(zhí)行的語句,無論程序是否出現(xiàn)異常,也不管try中包含何種語句,必須要執(zhí)行finally中包含的語句。舉例在課本266頁上方17、 (6.4)你能說出java中常見的幾個異常么?他們表示什么意思?在什么情況下引起這些異常?NullPointerException:零指針異常,引用了一個空對象的屬性或方法ArrayIndexOutOfBoundsException:數(shù)組下標越界異常,數(shù)組訪問越界ClassCastException:類型轉化異常,一個錯誤的類型轉換ArithmeticException:算數(shù)異常,算數(shù)方面引起的異常,比如用整數(shù)去整除018、 (7.4)java中提供了幾種布局管理器?簡述它們之間的區(qū)別。課本第159頁最后布局管理器部分19、 (7.5)Frame和Panel默認的布局管理器分別是什么

溫馨提示

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

評論

0/150

提交評論