060219JAVA程序設(shè)計(江蘇開放大學(xué)本科期末試卷)_第1頁
060219JAVA程序設(shè)計(江蘇開放大學(xué)本科期末試卷)_第2頁
060219JAVA程序設(shè)計(江蘇開放大學(xué)本科期末試卷)_第3頁
060219JAVA程序設(shè)計(江蘇開放大學(xué)本科期末試卷)_第4頁
060219JAVA程序設(shè)計(江蘇開放大學(xué)本科期末試卷)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

060219JAVA程序設(shè)計△

1.在Java語言中,(對象)是最基本的元素。

2.下列標識符(名字)命名原則中,正確的是(常量全部大寫)。

3.Java程序經(jīng)過編譯后生成的文件后綴是(class)。

4.do-while循環(huán)結(jié)構(gòu)中的循環(huán)體執(zhí)行的最少次數(shù)為(1)。

5.語句while(!e);中的條件!e等價于(e==0)。

6.關(guān)于數(shù)組,下列說法中不正確的是(定義數(shù)組時必須分配內(nèi)存)。

7.在Java語言中,哪一個包中的類是自動導(dǎo)入的?(java.lang)。

8.定義外部類時不能用到的關(guān)鍵字是(protected)。

9.下列對于多態(tài)的描述中,錯誤的是(Java語言不允許方法覆蓋)。

10.在Java中,(HashMap)對象可以使用鍵/值的形式保存數(shù)據(jù)。

設(shè)有下列數(shù)組定義語句:inta[]={1,2,3};則對此語句的敘述錯誤的是(a數(shù)組元素的下標為1~3)。

11.下面關(guān)于方法的說法,不正確的是(如果一個類定義了構(gòu)造方法,也可以用該類的默認構(gòu)造方法)。

12下列表達式1+2+"aa"+3的值是("3aa3")。

13設(shè)a、b為long型變量,x、y為float型變量,ch為char類型變量且它們均已被賦值,則下列語句中正確的是(switch(ch+1){}。

14.下列循環(huán)體執(zhí)行的次數(shù)是(3)。y=2,x=4;while(--x!=x/y){}

15下列循環(huán)體·行的次數(shù)是(2)。intx=10,y=30;do{y-=x;x++;}while(x++<y--);

16.區(qū)分類中重載方法的依據(jù)是(形參列表的類型和順序)。

17下列說法中,不正確的一個是(if…elseif語句的執(zhí)行效率總是比switch語句高)。

18.運行下面程序時,會產(chǎn)生什么異常(ArithmeticException)。

publicclassEX{

publicstaticvoidmain(String[]args){

intx=0;

inty=5/x;

int[]z={1,2,3,4};

intp=z[4];

}

19.定義一個公有double型常量PI,哪一條語句最好?(publicfinalstaticdoublePI=3.14;)。

20.在異常處理中,如釋放資源關(guān)閉文件、關(guān)閉數(shù)據(jù)庫等由(finally子句)來完成。

21.為AB類定義一個無返回值的方法f,使得使用類名就可以訪問該方法,該方法頭的形式為(staticvoidf())。

22.閱讀下列代碼,選出該代碼段正確的文件名(B.java)。

classA{

voidmethod1(){

System.out.println("Method1inclassA");

}}

publicclassB{

voidmethod2(){

System.out.println("Method2inclassB");

}

publicstaticvoidmain(String[]args){

System.out.println("main()inclassB");

}}

23.下列數(shù)據(jù)流中,屬于輸入流的一項是(從鍵盤流向內(nèi)存的數(shù)據(jù)流)。

2下列流中哪一個使用了緩沖區(qū)技術(shù)(BufferedOutputStream)。

25.下面說法不正確的是(abstract和final能同時修飾一個類)。

26.當(dāng)單擊鼠標或拖動鼠標時,觸發(fā)的事件是(MouseEvent)。

27JPanel的默認布局管理器是(FlowLayout)。

29.關(guān)于異常的含義,下列描述中最正確的一個是(程序編譯或運行時發(fā)生的異常事件)。

30自定義異常時,可以通過對下列哪一項進行繼承?(Exception類及其子類)

下列關(guān)于流類和File類的說法中錯誤的一項是(File類可以修改文件內(nèi)容)。

2.Java語言屬于(面向?qū)ο蟮恼Z言)種語言?

4.編譯一個定義了3個類和10個方法的Java源文件后,會產(chǎn)生(D)個字節(jié)碼文件?擴展名是(3個字節(jié)碼文件,擴展名為.class)?

5.以下的變量定義語句中,合法的是(doubled=Double.MAX_VALUE;)

7.下列選項中,不屬于Java核心包的一項是(.javax.swing)。

8.編譯下面源程序會得到哪些文件(A1.class、A2.class和B.class文件)?

10.下面哪種注釋方法能夠支持javadoc命令?(/**...*/)

11.下面代碼運行后的輸出結(jié)果為(true)

publicclassXX{

publicstaticvoidmain(String[]args){

ABaa=newAB();

ABbb;

bb=aa;

system.out.println(bb.equals(aa));

}

}

classAB{intx=100;}

14.下列循環(huán)體執(zhí)行的次數(shù)是(.3)。

inty=2,x=4;

while(--x!=x/y){}

17.已知如下代碼:

switch(m){

case0:System.out.println("Condition0");

case1:System.out.println("Condition1");

case2:System.out.println("Condition2");

case3:System.out.println("Condition3");break;

default:System.out.println("OtherCondition");}

當(dāng)m的值為(.0、1、2、3)時,輸出“Condition3”

18.假設(shè)a是int類型的變量,并初始化為1,則下列(if(true){})是合法的條件語句?

19.下列哪種類成員修飾符修飾的變量只能在本類中被訪問?(private)

21.給出下面的程序代碼:

publicclassX413{

privatefloata;

publicstaticvoidm(){}

}

如何使成員變量a被方法m()訪問(將privatefloata改為staticfloata)

22.Java語言接口間的繼承關(guān)系是多重繼承)

23.下列代碼中,使成員變量m能被方法fun()直接訪問的是(將privateintm改為staticintm)

classTest{

privateintm;

publicstaticvoidfun(){…}

}

26.已知y=2,z=3,n=4,則經(jīng)過n=n+-y*z/n運算后n的值為(3)。

27.下列(_blank)是合法的標識符?

28.下列(sizeof)不是Java中的保留字?

29.下列(2$_million)不是合法的標識符?

30.下列選項中,(數(shù)組)不屬于Java語言的基本數(shù)據(jù)類型?

31.下列關(guān)于基本數(shù)據(jù)類型的說法中,不正確的一項是(char是8位Unicode字符)。

32.下列關(guān)于運算符優(yōu)先級的說法中,不正確的一個是(同一優(yōu)先級的運算符在表達式中都是按照從右到左的順序進行運算的)

39.下列敘述中,錯誤的一項是采用GridLayout布局,容器大小改變時,每個構(gòu)件不再平均分配容器空間)。

42.下列說法中錯誤的一項是(構(gòu)件能夠獨立顯示出來)。

43.進行Java基本GUI設(shè)計需要用到的包是(java.awt)。

44.Container是下列哪一個類的子類(Component)?

45.java.awt.Frame的父類是(java.awtWindow)。

4下列(賦值語句)不屬于Java語言流程控制結(jié)構(gòu)?

6下面哪些選項是正確的main方法說明?(publicstaticvoidmain(Stringargs[]))

9在編寫Java程序時,如果不為類的成員變量定義初始值,Java會給出它們的默認值,下列說法中不正確的一個是(long類型的默認值是0.0L)。

19下列關(guān)于Java語言簡單數(shù)據(jù)類型的說法中,正確的一項是(以0開頭的整數(shù)代表8進制整型常量)。

24設(shè)有類型定義shorti=32;longj=64;下面賦值語句中不正確的一個是(i=j;)

29已知a=2,b=3,則表達式a%b*4%b的值為(2)

2有一個類B,下面為其構(gòu)造方法的聲明,正確的是(B(intx){})。

3下面關(guān)于類的說法,不正確的是(類就是對象)。

5關(guān)于內(nèi)部類,下列說法不正確的是(內(nèi)部類不能有自己的成員方法和成員變量)

8如果局部變量和成員變量同名,如何在局部變量作用域內(nèi)引用成員變量?(在成員變量前加this,使用this訪問該成員變量)

9下面說法不正確的是(abstract和final能同時修飾一個類)。

二、判斷題

1.在運行字節(jié)碼文件時,使用java命令,一定要給出字節(jié)碼文件的擴展名.class。(錯誤)

2.java命令不區(qū)分大小寫,而javac命令區(qū)分大小寫。(錯誤)

3.JavaApplication程序中,必有一個主方法main(),該方法有沒有參數(shù)都可以。(正確)

4.java.util.Scanner(System.in)可以接收用戶從鍵盤輸入的簡單數(shù)據(jù)。(正確)

5.Java程序中不區(qū)分大小寫字母。(錯誤)

6.Java語言中不同數(shù)據(jù)類型的長度是固定的,不隨機器硬件不同而改變。(正確)

7.所有的變量在使用前都必須進行初始化。(錯誤)

8.已知bytei=(byte)127;i=i+1;這兩個語句能被成功編譯。(正確)

9.Stringstr="abcdefghi";charchr=str.charAt(9);(錯誤)

10.char[]chrArray={'a','b','c','d','e','f','g'};charchr=chrArray[6];(正確)

11.inti,j;booleanbooleanValue=(i==j);(錯誤)

12.intintArray[]={0,2,4,6,8};intlength=intArray.length();(錯誤)

13.類中說明的方法可以定義在類體外。(錯誤)

14.Java語言使用的是Unicode字符集,每個字符在內(nèi)存中占8位。(錯誤)

15.強制類型轉(zhuǎn)換運算符的功能是將一個表達式的類型轉(zhuǎn)換為所指定的類型。(正確)

16.捕獲異常try語句后面通常跟有一個或多個catch()方法用來處理try塊內(nèi)生成的異常事件。正確)

17.文件緩沖流的作用是提高文件的讀/寫效率。(正確)

18.容器是用來組織其他界面成分和元素的單元,它不能嵌套其他容器。(錯誤)

19printf()和format()方法使用指定格式字符串和參數(shù),將格式化字符串寫入到PrintStream類型的輸出流(System.out對象)中。(正確)

20.Java語言不允許同時繼承一個類并實現(xiàn)一個接口。(錯誤)

21.調(diào)用this或super構(gòu)造方法的語句必須放在第一條語句。(正確)

22.Java語言會自動回收內(nèi)存中的垃圾。(正確)

23.實例方法中不能引用類變量。(錯誤)

1.Java語言具有較好的安全性和可移植性及與平臺無關(guān)等特性。(正確)

2.Java語言的源程序不是編譯型的,而是編譯解釋型的。(正確)

6.機器不能直接識別字節(jié)碼文件,它要經(jīng)過JVM中的解釋器邊解釋邊執(zhí)行。(正確)7.System類中的println()方法分行顯示信息,而print()方法不分行顯示信息。(正確)

8.當(dāng)前路徑的標識是“.”。(正確)

9.java命令不區(qū)分大小寫,而javac命令區(qū)分大小寫。(錯誤)

10printf()和format()方法使用指定格式字符串和參數(shù),將格式化字符串寫入到PrintStream類型的輸出流(System.out對象)中。(正確)

25.創(chuàng)建對象時系統(tǒng)將調(diào)用適當(dāng)?shù)臉?gòu)造方法給對象初始化。(正確)

26.Java語言中,構(gòu)造方法是不可以繼承的。(正確)

27.子類的成員變量和成員方法的數(shù)目一定大于等于父類的成員變量和成員方法的數(shù)目。(錯誤)

29.使用運算符new創(chuàng)建對象時,賦給對象的值實際上是一個引用值。(正確)

30.對象賦值實際上是同一個對象具有兩個不同的名字,它們都有同一個引用值。(正確)

31.對象可作方法參數(shù),對象數(shù)組不能作方法參數(shù)。(錯誤)

32.class是定義類的惟一關(guān)鍵字。(正確)

34.使用try-catch-finally語句只能捕獲一個異常。(錯誤)

35.類是一種類型,也是對象的模板。(正確)

37.IOException必須被捕獲或拋出。(正確)

38.Java系統(tǒng)的標準輸入對象是System.in,標準輸出對象有兩個,分別是標準輸出System.out和標準錯誤輸出System.err。(正確)

39.對象串行化機制是指將程序中對象的狀態(tài)轉(zhuǎn)化為一個字節(jié)流,存儲在文件中。(正確)

3判斷:Java有垃圾回收機制,內(nèi)存回收程序可在指定的時間釋放內(nèi)存對象。錯

5判斷:main函數(shù)是java程序的執(zhí)行入口。對

7判斷:說明或聲明數(shù)組時不分配內(nèi)存大小,創(chuàng)建數(shù)組時分配內(nèi)存大小。(對)

11判斷:continue語句用在循環(huán)語句中,它的作用是跳出循環(huán)。對

12判斷:JDK安裝是不可以修改安裝目錄。錯

18判斷:若x=5,則表達式(x+5)/3的值是3對

28判斷:Java的源代碼中定義幾個類,編譯結(jié)果就生成幾個以.class為后綴的字節(jié)碼對

30判斷:標識符可以為關(guān)鍵字。錯

三、閱讀程序題

1、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=i;,

System.out.println("sum="+sum);

}}

該程序完成的功能是:。

答案:求sum=1+2+3+...+100的和

2、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0:

for(inti=1;i<=100;i++)

sum+=i*i;

System.out.println("sum="+sum);

}}

該程序的功能是:。

答案:求出sum的值為1到100的平方和。

3、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=i*i*i;

System.out.println("sum="+sum);

}}

此程序完成的功能是:。

答案:計算并輸出1到100的立方和sum值。

4、閱讀以下程序:

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

此程序完成的功能是:。

答案:求解sum=1+1/2+1/3+...+1/100的值并打印輸出。

5.閱讀以下程序

importjava.io.*;

publicclassTest1{

publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={2,4,6,8,10,12,14,16,18};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

運行結(jié)果:s=36。

6.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Great!","IamJSOUer");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2){

s1=str1;s2=str2;

}

publicStringtoString(){

returns1+s2;

}}

運行結(jié)果:Great!IamJSOUer___。

7.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

SubSubClassobj=newSubSubClass(10,20,30);

obj.show();}}

classSuperClass{

intb;

SuperClass(intaa,intbb){

b=bb;

}}

classSubClassextendsSuperClass{

intc;

SubClass(intaa,intbb,intcc){

super(aa,bb);

c=cc;

}}

classSubSubClassextendsSubClass{

inta;

SubSubClass(intaa,intbb,intcc){

super(aa,bb,cc);

a=aa+bb+cc;

}

voidshow(){

System.out.println("a="+a+"\nb="+b+"\nc="+c);

}}

運行結(jié)果:___a=60b=20c=30。

8、下列程序的運行結(jié)果是:。

publicclassMyClass{

inta[]={1,2,3,4,5};

voidout(){

for(intj=0;j<a.length;j++)

System.out.print(a[j]+"");

}

publicstaticvoidmain(String[]args){

MyClassmy=newMyClass();

my.out();

}}

答案:12345

閱讀以下程序,寫出運行結(jié)果。

publicclassTom{

privatefloatweight;

privatestaticStringname;

publicvoidsetWeight(floatweight){

this.weight=weight;

}

privatevoidout(){

System.out.println(name+"體重:"+weight+"斤");

}

publicstaticvoidmain(String[]args){

T="湯姆貓";

Tomcat=newTom();

cat.setWeight(20);

cat.out();

}

}

答案:湯姆貓體重:20.0斤

10.閱讀以下程序,寫出程序功能。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)sum+=1.0/(double)i;

System.out.println("sum="+sum);

}

}

答案:相等

11.閱讀以下程序,寫出運行結(jié)果。

classAnimal{

Animal(){

System.out.print("Animal");

}}

publicclassDogextendsAnimal{

Dog(){

System.out.print("Dog");}

publicstaticvoidmain(String[]args){

Dogsnoppy=newDog();

}}

答案:AnimalDog

12.閱讀以下程序,寫出運行結(jié)果。

publicclassE{

publicstaticvoidmain(Stringargs[]){

charx='你',y='好',z='啊';

if(x>'A'){

y='開';

z='心';

}

else{

y='快';

z='樂';

}

System.out.println(x+","+y+","+z);

}

}

答案:你快樂

四、編程題

1.編寫程序,從鍵盤上輸入攝氏溫度C,計算華氏溫度F的值并輸出。其轉(zhuǎn)換公式如下:F=(9/5)

*C+32。

importjava.io.*;

publicclassX234{

publicstaticvoidmain(String[]args)throwsIOException{

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

doubleC,F;

Stringstr;

str=br.readLine();

C=Double.parseDouble(str);

F=(9/5)*C+32;

System.out.println("F="+F);

}}

定義名為MyTime的類。其中應(yīng)有三個整型成員:時hour、分minute、秒second。為了保證數(shù)據(jù)的安全性,這三個成員變量應(yīng)聲明為私有。為MyTime類定義構(gòu)造方法以方便創(chuàng)建對象時初始化成員變量。再定義diaplay方法用于將時間信息打印出來。為MyTime類添加以下方法:addSecond(intsec)、addMinute(intmin)、addHour(inthou)、subSecond(intsec)、subMinute(intmin)、subHour(inthou)分別對時、分、秒進行加減運算。

packageDemo;

publicclassMyTime做鬧{

privateinthour,minute,second;

publicMyTime(int銷胡中hour,intminute,intsecond){

super();

***.hour=hour;

***.minute=minute;

***.second=second;

}

publicvoidaddSecond(intsec){

second+=sec;

}

publicvoidaddMinute(intmin){

minute+=min;

}

publicvoidaddHour(inthou)虧山{

hour+=hou;

}

publicvoidsubSecond(intsec){

second-=sec;

}

publicvoidsubMinute(intmin){

minute-=min;

}

publicvoidsubHour(inthou){

hour-=hou;

}

publicvoiddiaplay(){

system.***.println(hour+"時"+minute+"分"+second+"秒");

}

}

編寫一個人類Person,其中包含姓名、性別和年齡的屬性,包含構(gòu)造方法以及顯示姓名、性別和年齡的方法。再編寫一個學(xué)生類Student,它繼承Person類,其中包含學(xué)號屬性,包含構(gòu)造方法以及顯示學(xué)號的方法。最后編寫一個主類PSDemo,包含main()方法,在main()方法中定義兩個學(xué)生s1和s2并給他們賦值,最后顯示他們的學(xué)號、姓名、性別以及年齡。

文件1:***.java

packagemyapp.***.person;

/皮租**

*Person類

*@author

*/拆信

publicclassPerson{

privateStringname;

privateStringsex;

privateintage;

publicPerson(){

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

***.age=age;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

***.name=name;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

***.sex=sex;

}

}

文件2:***.java

packagemyapp.***.person;

/旅握輪**

*Student類

*@authoryhx

*/

publicclassStudentextendsPerson{

privateStringstudentNo;

publicStudent(){

}

publicStudent(StringstudentNo){

***.studentno=studentNo;

}

publicStringgetStudentNo(){

returnstudentNo;

}

publicvoidsetStudentNo(StringstudentNo){

***.studentno=studentNo;

}

publicstaticvoidmain(String[]args){

Students1=newStudent("201009102311");

***.setname("王五");

***.setsex("男");

***.setage(21);

Students2=newStudent();

***.setstudentno("201009102313");

***.setname("李四");

***.setsex("女");

***.setage(20);

//以下顯示學(xué)生信息

system.***.println(***.getstudentno());

system.***.println(***.getname());

system.***.println(***.getsex());

system.***.println(***.getage());

system.***.println(***.getstudentno());

system.***.println(***.getname());

system.***.println(***.getsex());

system.***.println(***.getage());

s1=null;

s2=null;

}

}

4.編一個程序,程序中包含以下內(nèi)容:

一個圓類(Circle),包含:

屬性:圓半徑radius;常量:PI。

方法:構(gòu)造方法;求面積方法area();求周長方法:perimeter()。

主類(CircleDemo),包含:

主方法main(),在主方法中創(chuàng)建圓類的對象c1和c2并初始化,c1的半徑為100,c1的半徑為200,然后分別顯示兩個圓的面積和周長。

5.編寫Animal接口,接口中聲明run()方法;定義Bird類和Fish類實現(xiàn)Animal接口;編寫B(tài)ird類和Fish類的測試程序,并調(diào)用其中的run()方法。

publicinterfaceAnimal{

voidrun();}

classBirdimplementsAnimal{

publicvoidrun(){

System.out.println("鳥兒在飛...");}}

classFishimplementsAnimal{

publicvoidrun(){

System.out.println("魚兒在游...");}}

publicclassTestAnimal{

publicstaticvoidmain(String[]args){

Birdbird=newBird();bird.run();

Fishfish=newFish();fish.run();}}

定義一個網(wǎng)絡(luò)用戶類,要處理的信息有用戶ID、用戶密碼、email地址。在建立類的實例時把以上三個信息都作為構(gòu)造函數(shù)的參數(shù)輸入,其中用戶ID和用戶密碼時沒有缺省,而email地址缺省的時候email地址是用戶ID

@\"。"

加上字符串"@"。

打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個"水仙花數(shù)",因為153=1的三次方+5的三次方+3的三次方。

8.編程實現(xiàn)1!+2!+...+20!

三、簡答題

1.簡述Java語言的主要特點。Java語言共有十大特點,分別為:簡單性、面向?qū)ο?、分布性、編譯和解釋性、穩(wěn)健性、安全性、可移植性、高性能、多線索性、動態(tài)性。

2.構(gòu)造方法的作用是什么?構(gòu)造方法和普通方法的區(qū)別?。

3.方法的重載和方法的覆蓋有什么不同?4.訪問修飾符有哪些?各自的作用范圍是什么?4.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Great!","IloveEclipse.");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2){

s1=str1;s2=str2;

}

publicStringtoString(){

returns1+s2;

}}

運行結(jié)果是:__Great!IloveEclipse.。

5.閱讀以下程序

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

運行結(jié)果:s=180。

7.以下程序的輸出結(jié)果為:相等。

classStringTest1{

publicstaticvoidmain(String[]args){

Strings1="hello";

Strings2=newString("hello");

if(s1.equals(s2))

System.out.println("相等");

elseSystem.out.println("不相等");

}}

五、編程題(共16分)

8.編寫一個JavaApplication類型的程序,從鍵盤上輸入三角形的三條邊的長度,計算三角形的面積和周長并輸出。根據(jù)三角形邊長求面積公式如下:,其中a、b、c為三角形的三條邊,p=(a+b+c)/2。

importjava.io.*;publicclassX2_3_3{publicstaticvoidmain(String[]args)throwsIOException{InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);doublea,b,c,s,area;Stringstr;str=br.readLine();a=Double.parseDouble(str);str=br.readLine();b=Double.parseDouble(str);str=br.readLine();c=Double.parseDouble(str);s=(a+b+c)/2.0;area=Math.sqrt(s*(s-a)*(s-b)*(s-c));System.out.println("area="+area);}}【運行結(jié)果】345area=6.0

7.打印出楊輝三角形。(要求打印出10行如下圖)

1

11

1331

14641

15101051

1.(編程題)編寫程序。判斷給定的某個年份是否是閏年

閏年的判斷規(guī)則如下:(1)若某個年份能被4整除但不能被100整除,則是閏年。(2)若某個年份能被400整除,則也是閏年

importjava.util.Scanner;

classBissextile{publicstaticvoidmain(String[]arge){

System.out.print("請輸入年份");

intyear;//定義輸入的年份名字為“year”

Scannerscanner=newScanner(System.in);

year=scanner.nextInt();

if(year<0||year>3000){

System.out.println("年份有誤,程序退出!");

System.exit(0);}

if((year%4==0)&&(year%100!=0)||(year%400==0))

System.out.println(year+"isbissextile");

elseSystem.out.println(year+"isnotbissextile");}}

2.(編程題)使用for循環(huán)答應(yīng)9*9乘法口訣表。

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

publicclassNineNine{

publicstaticvoidmain(String[]args){

System.out.println();

for(intj=1;j<10;j++){

for(intk=1;k<10;k++){

if(k>j)break;

System.out.print(""+k+"X"+j+"="+j*k);}

System.out.println();}}}

6.(編程題)編寫程序在終端打印1~100之間的素數(shù)。

classTestChoose{

publicstaticvoidmain(Stringargs[]){

intn=2;while(n<=100){

booleanflag=true;

intk1=2;

while(k1<=n/2+1)

{

if(n%k1==0){flag=false;

break;}

k1++;}

if(flag){System.out.println(n);}

n++;

}}

7.(編程題)構(gòu)造一個類來描述屏幕上的一個點,該類的構(gòu)成包括點的x和y兩個坐標,以及一些對點進行的操作,包括:取得點的坐標值,對點的坐標進行賦值,編寫應(yīng)用程序生成該類的對象并對其進行操作。

答案:

importjava.io.*;

publicclassPoint{

intx,y;

publicPoint(intx,inty){

this.x=x;this.y=y;}

publicPointgetPoint(){

PointtempPoint=newPoint(x,y);

returntempPoint;}

publicvoidsetPoint(Pointpoint)

this.x=point.x;

{

this.y=point.y;}

publicstaticvoidmain(Stringargs[]){

PointPoint1=newPoint(3,4);

System.out.println("Point1:"+"("+Point1.x+","+Point1.y+")");

PointPoint2=Point1.getPoint();

System.out.println("Point2:"+"("+Point2.x+","+Point2.y+")");

PointPoint3=newPoint(5,6);

Point1.setPoint(Point3);

System.out.println("Point1:"+"("+Point1.x+","+Point1.y+")");

}

}

9.(編程題)編寫一個學(xué)生類Student,要求:

(1)學(xué)生類Student屬性有:id:long型,代表學(xué)號name:String類對象,代表姓名age:int型,代表年齡sex:boolen型,代表性別(其中:true表示男,false表示女)phone:String類對象,代表聯(lián)系電話(2)學(xué)生類Student的方法有:Student(longi,Stringn,inta,booleans,longp):有參構(gòu)造函數(shù),形參表中的參數(shù)分別初始化學(xué)號、姓名、年齡、性別和聯(lián)系電話。intgetAge()():獲取年齡作為方法的返回值。booleangetSex()():獲取性別作為方法的返回值。longgetPhone():獲取聯(lián)系電話作為方法的返回值。publicStringtoString():以姓名:聯(lián)系電話的形式作為方法的返回值。

classStudent{

longid;

Stringname;

intage;

booleansex;

longphone;

Student(longi,Stringn,inta,booleans,longp){

id=i;

name=n;

age=a;

sex=s;

phone=p;}

intgetAge(){returnage;}

booleangetSex(){returnsex;}

longgetPhone(){returnphone;}

publicStringtoString(){returnname+":"+phone;

}}

11.(編程題)按以下要求編寫程序

(1).(簡答題)(1)創(chuàng)建一個Rectangle類,添加width和height兩個成員變量(2)在Rectangle中添加兩種方法分別計算矩形的周長和面積(3)編程利用Rectangle輸出一個矩形的周長和面積

答案:publicclassRectangle{f

loatwidth,height;

publicRectangle(floatwidth,floatheight){t

his.width=width;this.height=height;}

publicfloatgetLength(){

return(this.width+this.height)*2;}

publicfloatgetArea(){returnthis.width*this.height;}

publicstaticvoidmain(String[]args){

Rectanglerect=newRectangle(10,20);

System.out.println("周長是:"+rect.getLength());

System.out.println("面積是:"+rect.getArea());

}}

12.簡答題90分以上A級80~89B級70~79C級60~69D級60分以下E級

importjava.util.Scanner;

classMark{

publicstaticvoidmain(String[]args){

System.out.println("請輸入一個分數(shù)");//定義輸入的分數(shù)為“mark”,且分數(shù)會有小數(shù)

doublemark;

Scannerscanner=newScanner(System.in);

mark=scanner.nextDouble();//判斷是否有輸入錯誤。

if(mark<0||mark>100){System.out.println("輸入有誤!");

System.exit(0);}/*判斷分數(shù)的等級90分以上者A級,80~89分者B級,70~79分者C級,

60~69者D級,60分以下E級*/

if(mark>=90)System.out.println("thismarkisgrade\'A\'");

elseif(mark>=80)System.out.println("thismarkisgrade\'B\'");

elseif(mark>=70)System.out.println("thismarkisgrade\'C\'");

elseif(mark>=60)System.out.println("thismarkisgrade\'D\'");

elseSystem.out.println("thismarkisgrade\'E\'");

}}

簡答題

1創(chuàng)建數(shù)組元素為基本數(shù)據(jù)類型的數(shù)組時,系統(tǒng)都會指定默認值嗎?布爾型的默認值是什么?java在聲明了一個數(shù)組,并為其分配好存儲空間后,未賦值之前會默認對其初始化:整形數(shù)組默認初始值為0;布爾數(shù)組默認初始值為false;String數(shù)組以及對象數(shù)組初始值為null.

2閱讀程序:

importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}運行結(jié)果:s=180

3閱讀程序:publicclassTestArray

publicstaticvoidmain(Stringargs[]){

inti,j;

inta[]={5,9,6,8,7};

for(i=0;i<a.length-1;i++){

intk=i;

for(j=i;j<a.length;j++)

if(a[j]<a[k])k=j;

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

}

for(i=0;i<a.length;i++)

System.out.print(a[i]+"");

System.out.println();

}

}運行結(jié)果

56789

4如果JDK的安裝目錄為D:\jdk,應(yīng)當(dāng)怎么設(shè)置path和classpath的值?

設(shè)置環(huán)境變量Path的值為D:\jdk\bin;

設(shè)置環(huán)境變量ClassPath的值為D:\jdk\lib\dt.jar;D:\jdk\lib\tools.jar;

5字符數(shù)組與字符串有本質(zhì)的不同,而字符串實際上是String類和StringBuffer類的對象,這種說法對嗎?這種說法不對,字符數(shù)組與字符串在內(nèi)存中都是邊續(xù)線性分布的的一系列數(shù)據(jù),本質(zhì)上沒有不同,只是操作上有點差異。

6Java程序的開發(fā)步驟。

(1)編寫源文件。擴展名必須是.java。(2)編譯Java源程序。使用Java編譯器(javac.exe)編譯源文件,得到字節(jié)碼文件。(3)運行Java程序。使用JavaSE平臺中的Java解釋器(java.exe)來解釋執(zhí)行字節(jié)碼文件。

1簡答實例變量和類變量的區(qū)別?

(1)不同對象的實例變量互不相同(2)所有對象共享類變量(3)通過類名直接訪問類變量

2簡述構(gòu)造方法的特點與作用?

構(gòu)造方法是類的一個特殊成員,它會在類實例化對象時被自動調(diào)用。而普通方法只有在使用的時候才會被調(diào)用。在定義構(gòu)造方法時要求方法名與類名相同、在方法名的前面沒有返回值類型的聲明、在方法中不能使用return語句返回一個值。

3簡述面向?qū)ο蟮幕舅枷?、主要特征和基本要?

面向?qū)ο蟮拈_發(fā)方法(簡稱OO)的基本思想:OO方法認為,客觀世界是由各種各樣的對象組成的,每種對象都有各自的內(nèi)部狀態(tài)和運動規(guī)律,不同的對象之間的相互作用和聯(lián)系就構(gòu)成了各種不同的系統(tǒng)。當(dāng)我們設(shè)計和實現(xiàn)一個客觀系統(tǒng)時,如能在滿足需求的條件下,把系統(tǒng)設(shè)計成由一些不可變的(相對固定)部分組成的最小集合,這個設(shè)計就是最好的。而這些不可變的部分就是所謂的對象。對象是OO方法的主體,對象至少應(yīng)有以下特征:模塊性。即對象是一個獨立存在的實體,從外部可以了解它的功能,但其內(nèi)部細節(jié)是“隱蔽”的,它不受外界干擾。對象之間的相互依賴性很小,因而可以獨立地被其它各個系統(tǒng)所選用。繼承和類比性。事物之間都有一定的相互聯(lián)系,事物在整體結(jié)構(gòu)中都會占有它自身的位置。在對象之間有屬性關(guān)系的共同性,在OO方法學(xué)中稱之為繼承性次結(jié)構(gòu)是靠繼承關(guān)系維系著的。對象是一個被嚴格模塊化了的實體,稱之為封裝(encapsulation)。這種封裝了的對象滿足軟件工程的一切要求,而且可以直接被面向?qū)ο蟮某绦蛟O(shè)計語言所接受。

《Java程序設(shè)計》實驗報告

目的 完成圖書管理應(yīng)用程序

內(nèi)容 1.查詢所有圖書2.新增圖書3.修改圖書4.刪除圖書5.退出

設(shè)計思路與關(guān)鍵技術(shù)描述 數(shù)據(jù)庫的增刪改查

任務(wù)一

程序源碼 importjava.util.Date;

importjava.util.List;

importjava.util.Scanner;

publicclassMain{

publicstaticvoidmain(String[]args){

Scannerscanner=newScanner(System.in);

BookServicebookService=newBookService();

while(true){

System.out.println("請輸入操作序號:1.查詢所有圖書2.新增圖書3.修改圖書4.刪除圖書5.退出");

intoption=scanner.nextInt();

switch(option){

case1:

List<Book>books=bookService.getAllBooks();

for(Bookbook:books){

System.out.println(book.getId()+"\t"+book.getName()+"\t"+book.getAuthor()+"\t"+

book.getPrice()+"\t"+book.getPublishDate());

}

break;

case2:

System.out.println("請輸入圖書名稱:");

StringnameToAdd=scanner.next();

System.out.println("請輸入圖書作者:");

StringauthorToAdd=scanner.next();

System.out.println("請輸入圖書價格:");

floatpriceToAdd=scanner.nextFloat();

System.out.println("請輸入出版日期(格式為yyyy-MM-dd):");

StringdateToAdd=scanner.next();

BookbookToAdd=newBook();

bookToAdd.setName(nameToAdd);

bookToAdd.setAuthor(authorToAdd);

bookToAdd.setPrice(priceToAdd);

bookToAdd.setPublishDate(java.sql.Date.valueOf(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論