普通高等教育十一五國家級規(guī)劃教材《JAVA程序設(shè)計》課后習(xí)題答案大全
《普通高等教育十一五國家級規(guī)劃教材《JAVA程序設(shè)計》課后習(xí)題答案大全》由會員分享,可在線閱讀,更多相關(guān)《普通高等教育十一五國家級規(guī)劃教材《JAVA程序設(shè)計》課后習(xí)題答案大全(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 3 第一章 一.判斷題 1. X 2. V 3. V 4. X 5. V 二.單選題 1. D 2. D 3. D 三.問答題 1 .答:1.答:Java程序的運(yùn)行必須經(jīng)過編寫、編譯、運(yùn)行三個步驟。編寫是指在Java 開發(fā)環(huán)境中進(jìn)行程序代碼的輸入過程,最終形成后綴名為java的Java源文件。編譯是指使 用Java編譯器對源文件進(jìn)行錯誤排查的過程,編譯后將生成后綴名為.class的字節(jié)碼文件。 運(yùn)行是指使用Java解釋器將字節(jié)碼文件翻譯成機(jī)器代碼,在cpu上運(yùn)行并顯示結(jié)果的過程。 2 .答:(1)在Dos模式下利用Javac語句將源代碼編譯成字節(jié)碼,然后利用Java
2、語句執(zhí) 行已經(jīng)轉(zhuǎn)換成字節(jié)碼的java應(yīng)用程序. (2)將Java源程序文件通過Java編譯器成為字節(jié)碼文件,最后經(jīng)過Java解釋器運(yùn)行程序. 四.運(yùn)行題 Good Luck! 第二章 一.判斷題 1. X 2, V 3. V 4. X 5. V 二.單選題 1 .A 2. B 3. B 4. A 5. A 三.解答題 1 .答 對下列變量進(jìn)行說明 (1) int i=l (2) float i=1.0 (3) double x=1234 (4) boolean i=ture (5) char 2 .答:如下圖所示 字節(jié)型byte 整數(shù)類型 短整型shor
3、t 整型int 長整型long 廠基本數(shù)據(jù)類型 數(shù)據(jù)類型Y u引用數(shù)據(jù)類型 廠單精度浮點型float Kj雙精度浮點型double 字符類型char I布爾類型boolean 數(shù)據(jù)類型 所占位數(shù) 數(shù)的取值范因 byte 8 -2?27-1 short 16 _2】5?2巴1 int 32 -23】?231-1 long 64 33 ?263-1 float 32 -3.4X103M.4EX 1038 (精度為6到7位有效數(shù)字) double 64 -1.7X10308-1.7X 103。8 (精度為14到15位有效數(shù)字) 3.答:若
4、是所占位數(shù)小的轉(zhuǎn)換成所占位數(shù)大的,則不會丟失其精度:若是高級向低級轉(zhuǎn)換 的話,則需要進(jìn)行強(qiáng)制轉(zhuǎn)換!但會導(dǎo)致溢出或精度下降。 4,答:(1) false (2) ture (3) false (4) ture 5.答:(1) x>=0 II x<0 (2) x>l && x<100 6.答:⑴ y=l (2)y=45 (3) y=2 四.編程題 1 .答: 使用while循環(huán)改寫下列for循環(huán)。 改寫后是: int y=0, x=l; While(y<10000) ( y=y+x; X++; ) 2 .判斷某一年份是否是閏年。 答 import java. i
5、o. *; public class TestYear { public static void main(String[] agrs) throws lOException { try { InputStreamReader year; BufferedReader n; year=new InputStreamReader(System, in); n=new BufferedReader(year); System. out. print ("請輸入一年份:“); String s=n. readLine 0; int leapyear=Integer. par
6、selnt(s); 〃把輸入的字符串轉(zhuǎn)換成整型
if(leapyear%4==0 && leapyear%100!=0 leapyear%400==0)
System. out. print (leapyear+〃年是I司年!”);
else
System, out. print (leapyear+”年不是閏年!”);
catch(lOException e)
)
}
)
運(yùn)行結(jié)果是:
C:\ 7、Corp.
C:\Documcnts and 59ttings\Administrator>E:
E:\>jauac TestVear.jaua
E:\>jaua TostVoar 情輸入一年份:2008 年是閏年!
E:\>.
3 .答:
public class Tuan {
(
for
(
public static void main(String Largs) (int i=l; i<=4; i++) //夕卜循環(huán)控制打印的行數(shù)
for (int k=l;k<=4-i;k++)
System. out. print C "); 〃打印空格 for (int j 8、=l;j<=2*i-l;j++)
{ System, out. print (*〃);} //打印"*"
System, out. printlnO ;
〃換行打印
8
}
)
djsll
結(jié)果顯示:
八 C : \WINDOWS\sy stem32\cmd. exe Mic^osoFlT Windowr XP 5.1.26fiAl 9、
XXXKX
[G:
第三章
一.判斷題
1 .V 2. X 3. X 4. V 5. X
二.選擇題
1.B 2. AC 3, BD 4,B 5. B
三.寫出運(yùn)行結(jié)果 What a pleasure!
I am Tom
How do you do?
四.編程題
解法一
package mypackage.math; class Rectangle { private mt length; private int width;
public Rectangle(int length,int width){
this.lengtli=lengtli;
this. 10、width=width;
}
public void set(int lengthjnt width){
this.lengtli=lengtli;
this.width=width;
}
public void getQ{
System. out. printlnC,此長方形的長為 ll+length+"寬為 "+width);
}
public mt getLength(){ return length;
}
public mt getWidtli(){ return width;
}
public mt calculatePeruneterQ{ return 2 11、*(length+width);
}
public mt calculateAiea(){ return (length*width);
}
public void print(){
System. out. printlnC此長方形的周 長為"+calculatePerimeter()+“面積為"+calculateArea()); }
}
class Test{
public static void mam(Strmg [ ] args){
Rectangle myiectangle=new Rectangle( 15,10);
myrectaiigle.getQ;
12、myrectaiigle.piint();
myrectaiigle.set(20,15);
System. out.piintln(" 長方形 的長是 n+myrectaiigle.getLengtliQ+H 寬 是 “+ myrectaiigle .getWidthQ);
myrectaiigle.piint();
} } 解法二
1. Rectpackage 包
package Rectpackage;
public class Rect (
int length;
int width;
public RectQ {
tliis. length=0: tliis. 13、wid th=O:
}
public void set(iiit L.int W) {
length=L;
width=W;
}
public void getQ {
System. out. pun山1(" 矩形的長度是:“+length+” 寬度是:“+width);
}
public void aiea() {
System, out. printing矩形的面積是:“+length*width);
}
public void ciea() {
System. out. printing 矩形的周長是:”+2*(length+width));
} }
2. 14、TestRect.java 源程序
miport Rectpackage.*;
public class TestRect
public static void niain(Strmg[]args)
Rect A=new RectQ;
A.set(20,30);
A.getQ;
A.areaQ;
A.creaQ;
}
}
-Ialxl
3. 運(yùn)行結(jié)果:
c;f C:\WIND0WS\systeni32\cnid.exe
D: \jaua>Jaucic Rectpackage \Rect - Jaua
的的
■ - -■-- ua是是是 ”度積長 a>長面周
15、
五.問答題
1 .答:
Java中使用static修飾的變量和方法稱為類變量(或稱靜態(tài)變量)和類方法(或稱靜 態(tài)方法),沒用static修飾符的變量和方法稱為實例變量和實例方法。
類成員是指該成員屬于這個類,由這個類所創(chuàng)建的所有對象共同擁有,該成員僅在類的存儲 單元中存在,這個類所創(chuàng)建的所有對象中僅存儲一個指向該成員的引用。任何一個該類的對 象改變了類成員,其他對象同樣會發(fā)生改變。對于類成員既可以使用對象訪問,也可以使用 類名直接進(jìn)行訪問,并且在類方法中只能訪問類變量,而不能訪問實例變量。
實例成員是指該成員由每一個對象個體獨(dú)有,對象的存儲空間中的確有一塊空間用來存儲該 成員,不同 16、對象的實例成員不同,任何一個對象改變了實例成員,只會影響這個對象本身, 其他對象中的實例成員不會發(fā)生改變。對于實例成員只能通過對象來訪問,不能通過類名進(jìn) 行訪問,在實例方法中既可以訪問實例變量,也可以訪問類變量。
2 .答:
繼承是面向?qū)ο蟪绦蛟O(shè)計中兩個類之間的一種關(guān)系。當(dāng)一個類獲取另一個類中所有非私 有的數(shù)據(jù)和操作的定義作為它自己的部分或全部成分時,就稱這兩個類之間具有繼承關(guān)系。 被繼承的類稱為父類或超類,繼承了父類或超類的所有數(shù)據(jù)和操作的類稱為子類。
面向?qū)ο蟪绦蛟O(shè)計中的繼承,可使得程序結(jié)構(gòu)更加清晰,降低了編碼和維護(hù)的工作量。
3 .答:
如果子類只從一個父類繼承,則叫單重繼承。 17、
如果子類從一個以上父類繼承,則叫多重繼承。
第四章
一.判斷題
1. X 1.4 3.X 4. V 5.X 6. V 7.J 8. V 9.V
二.選擇題
1. C 2. A 3.C 4. C
三.解答題
1 .答:常見的五種異常:
內(nèi)存耗盡、數(shù)組下標(biāo)超出邊界、被。除、非法的方法參數(shù)、算法溢出處。
(1) AritliineticException
(2) NullPomterException
(3) ClassCastException
(4) IndexOutOfBoundsException
(5) AriayOutOfLengtliException
18、2 .答:未捕獲的異常最終會導(dǎo)致程序非正常終止。
3 .答:
public class ExceptionExam
(
public static void mam(Strmg [] args)
(
try{
int i=0;
i=3/i; 〃將產(chǎn)生算術(shù)異常。
}
catch(AiithineticException e)〃找到 了匹配的異常,執(zhí)行該 catch 塊。
(
System.out.printing發(fā)生了 AiitluneticException 異常)
}
catch(AanyIndexOutOfBoundsException e)〃不是匹配的異常,且 19、不會再捕獲 〃異常,如果發(fā)生數(shù)組索引超出范圍所產(chǎn)生的異常,將執(zhí)行該catch塊。
(
System.out.p】intln("發(fā)生了 AanylndexOutOfBoundsException 異常)
}
catch(Exception e)
〃前兩個catch塊均無法捕獲try塊中發(fā)生的異常時,才會執(zhí)行該catch塊。
{
System. out. printin("發(fā)生了 異?!?;
}
filially
{
System.out.pimthi(nExecuted Finally"); )
}
}
4 .答:答案:throws代表一種狀態(tài),代表方法可能有異常拋出 20、,用在方法聲明中可以拋出多 個異常!
5 .答案:沒有用tluows聲明要拋出的異常!
6 ,略
第五章
一.判斷題
1. X 2, V
二.選擇題
1. D 2. A 3. D
三.解答題
答:有init、start和paint三種方法。
四.編程題
import j ava. applet.*;
import java.
public class Hello extends Applet
(
public void paint(Grapliics g)
(
g.ckawingStiing("歡迎學(xué)習(xí) Java1050);
}
}
/by > -
第八章
1.答案:
圖像用戶界面,使用圖形的方式,借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,幫助用 戶方便地向計算機(jī)系統(tǒng)發(fā)出命令,啟動操作,并將系統(tǒng)運(yùn)行的結(jié)果以圖形的方式顯示給用戶。 字符界面使用單純的字符作為計算機(jī)系統(tǒng)的輸入輸出。對于熟悉字符命令的用戶,它可以提 供更加強(qiáng)大、更雜的操作靈活性,但是不能處理非文字的信息,而且不如圖形界面方便、直 觀、友好。圖形界面中常用的組件有菜單、文本域、標(biāo)簽、選擇鈕、列表、按鈕、滾動條等。 2.答案:
Java中圖形界面的構(gòu)成成分 22、可以大致分類:容器、控制組件、用戶自定義成分。容器 用來包容和組織其他界面成分;控制組件是完成與用戶交互的最小單元;用戶自定義成分通 常只有顯示功能,不能接收用戶的輸入。設(shè)計和實現(xiàn)圖形用戶界面的工作主要有兩個:創(chuàng)建、 組織各成分和定義各成分的功能,即它們對事件的響應(yīng)。
3 .答案:
事件處理的特殊之處在于其操作的啟動不是主動地掌握在程序流程中,而是由與程序交 互的用戶在使用程序時即興決定的。相應(yīng)地,事件處理機(jī)制必須具有監(jiān)聽的功能,以便隨時 監(jiān)測用戶的動作。要實現(xiàn)監(jiān)聽功能,必須有事先定義好的事件,并規(guī)定不同事件由什么事件 源產(chǎn)生,有什么監(jiān)聽者處理。事件源是可能產(chǎn)生事件的圖形用戶界面組件。監(jiān)聽 23、者定義了處 理事件源所產(chǎn)生的事件的操作,把事件源注冊給按事件類型匹配的監(jiān)聽者后,系統(tǒng)在監(jiān)聽到 事件源產(chǎn)生的事件后自動調(diào)用監(jiān)聽者中定義的操作完成交互過程,這就是Java的事件處理 機(jī)制。把事件源注冊給監(jiān)聽者,讓監(jiān)聽者處理事件,稱為委托事件模型。能夠產(chǎn)生事件的就 時間源,實現(xiàn)了處理事件的接口的就是監(jiān)聽者。在Java圖形用戶界面中,事件源通常是各 種控制組件,監(jiān)聽者通常是各種容器相關(guān)。
4 .答案:
按鈕(Button)、文本組件(TextField,TextArea)、列表(List)和菜單選項(Menuitem)都是動作 事件源。響應(yīng)動作事件需要注冊動作事件源,實現(xiàn)actionPeifonn 24、ed()方法。
5 .答案:
①需要new來實例化對象。
②Jlale是類名,不能用作變量名。
③傳送構(gòu)造函數(shù)的參數(shù)顛倒了。第一個參數(shù)必須是Suingo
④己經(jīng)設(shè)置了 GndeLayout布局管理器,但添加的構(gòu)件沒有指定區(qū)域。正確的add語句 應(yīng)為:
c.add(buttonl,BordeiLayout.NORTH);
c.add(buttoii2,BoideiLayout.NORTH);
6 .答案:源程序:Luoxuan .java
miport java.awt.*:
miport java.applet.Applet:
public class Luoxuaii 25、extends Applet
(
int width=50 Jieight=5O :
int x=100,y=70;
int staitA=0:
public void paint(Graphics g)
(
fbr(int i=0; i<10; i++)
(
g.diawArc(x,y, width,height,startA,90);
=0)
(
width += 20:
x -= 10;
)
else
(
height += 20:
y -= 10;
}
startA = (startA + 90)%360;
}
}
}
7 .答案:源程序 26、:Xianslu.java
miport java.applet.* ;
unport java.awt.*:
public class Xiaiislii extends Applet (
Label ledLbl = new Label("紅色”);
Label yellowLbl = new Label,黃色)
Label bhieLbl = new Label,藍(lán)色)
public void
{
redLbl.setBackgiound(Color.ied):
yellowLbl.setBackground(ColoE yellow):
blueLbl.setBa 27、ckground(Color.blue);
add(redLbl);
add(yellowLbl):
add(blueLbl);
}
}
8 .答案:源程序:Suofaiig.java
unport java.applet.* ;
unport java.awt.*:
unport java.awt.event.* ;
public class Suofaiig extends Applet miplements ActionListener (
Strmg nisgSUmg = "SEE ME9 AMI CLEAR ENOUGH?H;
Button eiilargeB 28、tn = new Button("放大”);
Button dwiiidleBtn = new Button("縮 小)
int currentFontSize = 12:
public void uiitQ (
add(enlargeBtn);
add(dwindleBtn);
currentFontSize =12;
enlargeBtn.addActionListener(this):
dwindleBtn.addActionListener(this);
}
public void paint(Graphics g) (
Font newFont,oldFont: 29、
oldFont = g.getFontQ:
newFont = new Font(oldFont.getFontNameQ, oldFont.getStyleQ, currentFontSize); g.setFont(newFont):
g.drawString(msgStimg, 10,100):
}
public void actionPerfbrmed(ActioiiEvent ae)
if(ae.getSourceQ == enlaigeBtn) cuirentFontSize++ :
else if(ae.getSoufce() = dwiiidleBtn) cun 30、entFontSize-;
System.out.println(cunentFontSize);
repaiiitQ;
}
}
9 .答案:源程序:Xuanzhuaii.java
miport j a va. applet. Applet :
unport java.awt.*:
miport java.awt.event.* ;
public class Xuaiizliuaii extends Applet miplements ActionListener (
linage[] m_Images:
int totallinages = 18:
int curre 31、ntlinage = 0;
int fiameChange = 0;
Button leftRotateBui = new Button("左旋”);
Button rightRotateBtn = new Button("右旋”);
public void uiitQ (
m_Iiiiages = new Iinage[totallniages];
fbr(mt i=0:
KTOTALDvIAGES;
i++) m_Iinages[i] = getImage(getDocumentBase(), “images\\ImgOO" + (i+1) + Igif) add(left 32、RotateBtn);
add(riglitRotateBtn);
leftRotateB til. addActionListener(this);
rightRotateBtn.addActioiiListener(tliis);
}
public void start。
(
currentlniage = 0:
}
public void paint(Graphics g)
(
g.drawlmage(nvliiiages[cuirentlmage] ,50,50,this);
cunentlinage = cunentlinage+fiameChange ;
33、iffcuiTentlinage < 0)
cunentlinage += totallinages; else
cunentlinage %= totallinages; try{
Thread.sleep(50);
catch(IiiteniiptedException e)
(
showStatus(e.toStringO);
}
repamt();
}
public void actionPerfbrmed(ActioiiEvent ae)
(
if(ae.getSourceQ = leftRotateBtn) fiameChange = -1:
else if(ae.getSouice() = rightRotateBtn) fiameChange = 1;
}
}
13
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案