普通高等教育十一五國(guó)家級(jí)規(guī)劃教材《JAVA程序設(shè)計(jì)》課后習(xí)題答案大全
《普通高等教育十一五國(guó)家級(jí)規(guī)劃教材《JAVA程序設(shè)計(jì)》課后習(xí)題答案大全》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《普通高等教育十一五國(guó)家級(jí)規(guī)劃教材《JAVA程序設(shè)計(jì)》課后習(xí)題答案大全(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 3 第一章 一.判斷題 1. X 2. V 3. V 4. X 5. V 二.單選題 1. D 2. D 3. D 三.問(wèn)答題 1 .答:1.答:Java程序的運(yùn)行必須經(jīng)過(guò)編寫(xiě)、編譯、運(yùn)行三個(gè)步驟。編寫(xiě)是指在Java 開(kāi)發(fā)環(huán)境中進(jìn)行程序代碼的輸入過(guò)程,最終形成后綴名為java的Java源文件。編譯是指使 用Java編譯器對(duì)源文件進(jìn)行錯(cuò)誤排查的過(guò)程,編譯后將生成后綴名為.class的字節(jié)碼文件。 運(yùn)行是指使用Java解釋器將字節(jié)碼文件翻譯成機(jī)器代碼,在cpu上運(yùn)行并顯示結(jié)果的過(guò)程。 2 .答:(1)在Dos模式下利用Javac語(yǔ)句將源代碼編譯成字節(jié)碼,然后利用Java
2、語(yǔ)句執(zhí) 行已經(jīng)轉(zhuǎn)換成字節(jié)碼的java應(yīng)用程序. (2)將Java源程序文件通過(guò)Java編譯器成為字節(jié)碼文件,最后經(jīng)過(guò)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 .答 對(duì)下列變量進(jìn)行說(shuō)明 (1) int i=l (2) float i=1.0 (3) double x=1234 (4) boolean i=ture (5) char 2 .答:如下圖所示 字節(jié)型byte 整數(shù)類(lèi)型 短整型shor
3、t 整型int 長(zhǎng)整型long 廠(chǎng)基本數(shù)據(jù)類(lèi)型 數(shù)據(jù)類(lèi)型Y u引用數(shù)據(jù)類(lèi)型 廠(chǎng)單精度浮點(diǎn)型float Kj雙精度浮點(diǎn)型double 字符類(lèi)型char I布爾類(lèi)型boolean 數(shù)據(jù)類(lèi)型 所占位數(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ù)大的,則不會(huì)丟失其精度:若是高級(jí)向低級(jí)轉(zhuǎn)換 的話(huà),則需要進(jìn)行強(qiáng)制轉(zhuǎn)換!但會(huì)導(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)改寫(xiě)下列for循環(huán)。 改寫(xiě)后是: 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 ("請(qǐng)輸入一年份:“); 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
三.寫(xiě)出運(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,此長(zhǎng)方形的長(zhǎng)為 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此長(zhǎng)方形的周 長(zhǎng)為"+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(" 長(zhǎng)方形 的長(zhǎng)是 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(" 矩形的長(zhǎng)度是:“+length+” 寬度是:“+width);
}
public void aiea() {
System, out. printing矩形的面積是:“+length*width);
}
public void ciea() {
System. out. printing 矩形的周長(zhǎng)是:”+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是是是 ”度積長(zhǎng) a>長(zhǎng)面周
15、
五.問(wèn)答題
1 .答:
Java中使用static修飾的變量和方法稱(chēng)為類(lèi)變量(或稱(chēng)靜態(tài)變量)和類(lèi)方法(或稱(chēng)靜 態(tài)方法),沒(méi)用static修飾符的變量和方法稱(chēng)為實(shí)例變量和實(shí)例方法。
類(lèi)成員是指該成員屬于這個(gè)類(lèi),由這個(gè)類(lèi)所創(chuàng)建的所有對(duì)象共同擁有,該成員僅在類(lèi)的存儲(chǔ) 單元中存在,這個(gè)類(lèi)所創(chuàng)建的所有對(duì)象中僅存儲(chǔ)一個(gè)指向該成員的引用。任何一個(gè)該類(lèi)的對(duì) 象改變了類(lèi)成員,其他對(duì)象同樣會(huì)發(fā)生改變。對(duì)于類(lèi)成員既可以使用對(duì)象訪(fǎng)問(wèn),也可以使用 類(lèi)名直接進(jìn)行訪(fǎng)問(wèn),并且在類(lèi)方法中只能訪(fǎng)問(wèn)類(lèi)變量,而不能訪(fǎng)問(wèn)實(shí)例變量。
實(shí)例成員是指該成員由每一個(gè)對(duì)象個(gè)體獨(dú)有,對(duì)象的存儲(chǔ)空間中的確有一塊空間用來(lái)存儲(chǔ)該 成員,不同 16、對(duì)象的實(shí)例成員不同,任何一個(gè)對(duì)象改變了實(shí)例成員,只會(huì)影響這個(gè)對(duì)象本身, 其他對(duì)象中的實(shí)例成員不會(huì)發(fā)生改變。對(duì)于實(shí)例成員只能通過(guò)對(duì)象來(lái)訪(fǎng)問(wèn),不能通過(guò)類(lèi)名進(jìn) 行訪(fǎng)問(wèn),在實(shí)例方法中既可以訪(fǎng)問(wèn)實(shí)例變量,也可以訪(fǎng)問(wèn)類(lèi)變量。
2 .答:
繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)中兩個(gè)類(lèi)之間的一種關(guān)系。當(dāng)一個(gè)類(lèi)獲取另一個(gè)類(lèi)中所有非私 有的數(shù)據(jù)和操作的定義作為它自己的部分或全部成分時(shí),就稱(chēng)這兩個(gè)類(lèi)之間具有繼承關(guān)系。 被繼承的類(lèi)稱(chēng)為父類(lèi)或超類(lèi),繼承了父類(lèi)或超類(lèi)的所有數(shù)據(jù)和操作的類(lèi)稱(chēng)為子類(lèi)。
面向?qū)ο蟪绦蛟O(shè)計(jì)中的繼承,可使得程序結(jié)構(gòu)更加清晰,降低了編碼和維護(hù)的工作量。
3 .答:
如果子類(lèi)只從一個(gè)父類(lèi)繼承,則叫單重繼承。 17、
如果子類(lèi)從一個(gè)以上父類(lèi)繼承,則叫多重繼承。
第四章
一.判斷題
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 .答:常見(jiàn)的五種異常:
內(nèi)存耗盡、數(shù)組下標(biāo)超出邊界、被。除、非法的方法參數(shù)、算法溢出處。
(1) AritliineticException
(2) NullPomterException
(3) ClassCastException
(4) IndexOutOfBoundsException
(5) AriayOutOfLengtliException
18、2 .答:未捕獲的異常最終會(huì)導(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、不會(huì)再捕獲 〃異常,如果發(fā)生數(shù)組索引超出范圍所產(chǎn)生的異常,將執(zhí)行該catch塊。
(
System.out.p】intln("發(fā)生了 AanylndexOutOfBoundsException 異常)
}
catch(Exception e)
〃前兩個(gè)catch塊均無(wú)法捕獲try塊中發(fā)生的異常時(shí),才會(huì)執(zhí)行該catch塊。
{
System. out. printin("發(fā)生了 異常”);
}
filially
{
System.out.pimthi(nExecuted Finally"); )
}
}
4 .答:答案:throws代表一種狀態(tài),代表方法可能有異常拋出 20、,用在方法聲明中可以?huà)伋龆?個(gè)異常!
5 .答案:沒(méi)有用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.答案:
圖像用戶(hù)界面,使用圖形的方式,借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,幫助用 戶(hù)方便地向計(jì)算機(jī)系統(tǒng)發(fā)出命令,啟動(dòng)操作,并將系統(tǒng)運(yùn)行的結(jié)果以圖形的方式顯示給用戶(hù)。 字符界面使用單純的字符作為計(jì)算機(jī)系統(tǒng)的輸入輸出。對(duì)于熟悉字符命令的用戶(hù),它可以提 供更加強(qiáng)大、更雜的操作靈活性,但是不能處理非文字的信息,而且不如圖形界面方便、直 觀(guān)、友好。圖形界面中常用的組件有菜單、文本域、標(biāo)簽、選擇鈕、列表、按鈕、滾動(dòng)條等。 2.答案:
Java中圖形界面的構(gòu)成成分 22、可以大致分類(lèi):容器、控制組件、用戶(hù)自定義成分。容器 用來(lái)包容和組織其他界面成分;控制組件是完成與用戶(hù)交互的最小單元;用戶(hù)自定義成分通 常只有顯示功能,不能接收用戶(hù)的輸入。設(shè)計(jì)和實(shí)現(xiàn)圖形用戶(hù)界面的工作主要有兩個(gè):創(chuàng)建、 組織各成分和定義各成分的功能,即它們對(duì)事件的響應(yīng)。
3 .答案:
事件處理的特殊之處在于其操作的啟動(dòng)不是主動(dòng)地掌握在程序流程中,而是由與程序交 互的用戶(hù)在使用程序時(shí)即興決定的。相應(yīng)地,事件處理機(jī)制必須具有監(jiān)聽(tīng)的功能,以便隨時(shí) 監(jiān)測(cè)用戶(hù)的動(dòng)作。要實(shí)現(xiàn)監(jiān)聽(tīng)功能,必須有事先定義好的事件,并規(guī)定不同事件由什么事件 源產(chǎn)生,有什么監(jiān)聽(tīng)者處理。事件源是可能產(chǎn)生事件的圖形用戶(hù)界面組件。監(jiān)聽(tīng) 23、者定義了處 理事件源所產(chǎn)生的事件的操作,把事件源注冊(cè)給按事件類(lèi)型匹配的監(jiān)聽(tīng)者后,系統(tǒng)在監(jiān)聽(tīng)到 事件源產(chǎn)生的事件后自動(dòng)調(diào)用監(jiān)聽(tīng)者中定義的操作完成交互過(guò)程,這就是Java的事件處理 機(jī)制。把事件源注冊(cè)給監(jiān)聽(tīng)者,讓監(jiān)聽(tīng)者處理事件,稱(chēng)為委托事件模型。能夠產(chǎn)生事件的就 時(shí)間源,實(shí)現(xiàn)了處理事件的接口的就是監(jiān)聽(tīng)者。在Java圖形用戶(hù)界面中,事件源通常是各 種控制組件,監(jiān)聽(tīng)者通常是各種容器相關(guān)。
4 .答案:
按鈕(Button)、文本組件(TextField,TextArea)、列表(List)和菜單選項(xiàng)(Menuitem)都是動(dòng)作 事件源。響應(yīng)動(dòng)作事件需要注冊(cè)動(dòng)作事件源,實(shí)現(xiàn)actionPeifonn 24、ed()方法。
5 .答案:
①需要new來(lái)實(shí)例化對(duì)象。
②Jlale是類(lèi)名,不能用作變量名。
③傳送構(gòu)造函數(shù)的參數(shù)顛倒了。第一個(gè)參數(shù)必須是Suingo
④己經(jīng)設(shè)置了 GndeLayout布局管理器,但添加的構(gòu)件沒(méi)有指定區(qū)域。正確的add語(yǔ)句 應(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: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 領(lǐng)導(dǎo)班子2024年度民主生活會(huì)對(duì)照檢查材料范文(三篇)
- 金融工作主題黨課講稿范文(匯編)
- 鍋爐必備學(xué)習(xí)材料
- 鍋爐設(shè)備的檢修
- 主題黨課講稿:走中國(guó)特色金融發(fā)展之路加快建設(shè)金融強(qiáng)國(guó)(范文)
- 鍋爐基礎(chǔ)知識(shí):?jiǎn)t注意事項(xiàng)技術(shù)問(wèn)答題
- 領(lǐng)導(dǎo)班子2024年度民主生活會(huì)“四個(gè)帶頭”對(duì)照檢查材料范文(三篇)
- 正常運(yùn)行時(shí)影響鍋爐汽溫的因素和調(diào)整方法
- 3.鍋爐檢修模擬考試復(fù)習(xí)題含答案
- 司爐作業(yè)人員模擬考試試卷含答案-2
- 3.鍋爐閥門(mén)模擬考試復(fù)習(xí)題含答案
- 某公司鍋爐安全檢查表
- 3.工業(yè)鍋爐司爐模擬考試題庫(kù)試卷含答案
- 4.司爐工考試題含答案解析
- 發(fā)電廠(chǎng)鍋爐的運(yùn)行監(jiān)視和調(diào)整