版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年撰寫:中國刀卡項目風(fēng)險評估報告
- 2024-2030年希諾公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年尾纖毛細管公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年威克舒公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024年度汽車噴漆行業(yè)法規(guī)咨詢與服務(wù)合同3篇
- 2024-2030年國家甲級資質(zhì):中國YLGc管道泵融資商業(yè)計劃書
- 2024-2030年咪多吡公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年吡拉明公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年去氯羥嗪公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年全球及中國面包刀行業(yè)競爭策略及銷售態(tài)勢分析報告
- 2024年廣東省建筑安全員《B證》考試題庫及答案
- 2024年教師資格證考試教育教學(xué)理論基礎(chǔ)知識復(fù)習(xí)題庫及答案(共200題)
- 2024年G1工業(yè)鍋爐司爐理論考試1000題及答案
- 中華聯(lián)合財產(chǎn)保險股份有限公司校招筆試題目
- 七年級上冊生物2024-2025學(xué)年新人教版期末綜合試卷(含答案)
- 進口再生鑄造鋁合金原料檢驗規(guī)程
- 《建筑電氣工程預(yù)算》
- GB/T 44800-2024太陽能光熱發(fā)電站儲熱/傳熱用工作介質(zhì)技術(shù)要求熔融鹽
- 2020年國家開放大學(xué)電大《數(shù)據(jù)結(jié)構(gòu)》實驗報告
- 軟件開發(fā)公司代碼備份與恢復(fù)方案
- 《貨幣銀行學(xué)》課件
評論
0/150
提交評論