普通高等教育十一五國家級(jí)規(guī)劃教材《JAVA程序設(shè)計(jì)》課后習(xí)題答案大全
《普通高等教育十一五國家級(jí)規(guī)劃教材《JAVA程序設(shè)計(jì)》課后習(xí)題答案大全》由會(huì)員分享,可在線閱讀,更多相關(guān)《普通高等教育十一五國家級(jí)規(guī)劃教材《JAVA程序設(shè)計(jì)》課后習(xí)題答案大全(13頁珍藏版)》請(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 三.問答題 1 .答:1.答:Java程序的運(yùn)行必須經(jīng)過編寫、編譯、運(yùn)行三個(gè)步驟。編寫是指在Java 開發(fā)環(huán)境中進(jìn)行程序代碼的輸入過程,最終形成后綴名為java的Java源文件。編譯是指使 用Java編譯器對(duì)源文件進(jìn)行錯(cuò)誤排查的過程,編譯后將生成后綴名為.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 .答 對(duì)下列變量進(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 長(zhǎng)整型long 廠基本數(shù)據(jù)類型 數(shù)據(jù)類型Y u引用數(shù)據(jù)類型 廠單精度浮點(diǎn)型float Kj雙精度浮點(diǎn)型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ù)大的,則不會(huì)丟失其精度:若是高級(jí)向低級(jí)轉(zhuǎn)換 的話,則需要進(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)改寫下列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 ("請(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
三.寫出運(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、
五.問答題
1 .答:
Java中使用static修飾的變量和方法稱為類變量(或稱靜態(tài)變量)和類方法(或稱靜 態(tài)方法),沒用static修飾符的變量和方法稱為實(shí)例變量和實(shí)例方法。
類成員是指該成員屬于這個(gè)類,由這個(gè)類所創(chuàng)建的所有對(duì)象共同擁有,該成員僅在類的存儲(chǔ) 單元中存在,這個(gè)類所創(chuàng)建的所有對(duì)象中僅存儲(chǔ)一個(gè)指向該成員的引用。任何一個(gè)該類的對(duì) 象改變了類成員,其他對(duì)象同樣會(huì)發(fā)生改變。對(duì)于類成員既可以使用對(duì)象訪問,也可以使用 類名直接進(jìn)行訪問,并且在類方法中只能訪問類變量,而不能訪問實(shí)例變量。
實(shí)例成員是指該成員由每一個(gè)對(duì)象個(gè)體獨(dú)有,對(duì)象的存儲(chǔ)空間中的確有一塊空間用來存儲(chǔ)該 成員,不同 16、對(duì)象的實(shí)例成員不同,任何一個(gè)對(duì)象改變了實(shí)例成員,只會(huì)影響這個(gè)對(duì)象本身, 其他對(duì)象中的實(shí)例成員不會(huì)發(fā)生改變。對(duì)于實(shí)例成員只能通過對(duì)象來訪問,不能通過類名進(jìn) 行訪問,在實(shí)例方法中既可以訪問實(shí)例變量,也可以訪問類變量。
2 .答:
繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)中兩個(gè)類之間的一種關(guān)系。當(dāng)一個(gè)類獲取另一個(gè)類中所有非私 有的數(shù)據(jù)和操作的定義作為它自己的部分或全部成分時(shí),就稱這兩個(gè)類之間具有繼承關(guān)系。 被繼承的類稱為父類或超類,繼承了父類或超類的所有數(shù)據(jù)和操作的類稱為子類。
面向?qū)ο蟪绦蛟O(shè)計(jì)中的繼承,可使得程序結(jié)構(gòu)更加清晰,降低了編碼和維護(hù)的工作量。
3 .答:
如果子類只從一個(gè)父類繼承,則叫單重繼承。 17、
如果子類從一個(gè)以上父類繼承,則叫多重繼承。
第四章
一.判斷題
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 .答:未捕獲的異常最終會(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塊均無法捕獲try塊中發(fā)生的異常時(shí),才會(huì)執(zhí)行該catch塊。
{
System. out. printin("發(fā)生了 異?!?;
}
filially
{
System.out.pimthi(nExecuted Finally"); )
}
}
4 .答:答案:throws代表一種狀態(tài),代表方法可能有異常拋出 20、,用在方法聲明中可以拋出多 個(gè)異常!
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ì)算機(jī)系統(tǒng)發(fā)出命令,啟動(dòng)操作,并將系統(tǒng)運(yùn)行的結(jié)果以圖形的方式顯示給用戶。 字符界面使用單純的字符作為計(jì)算機(jī)系統(tǒng)的輸入輸出。對(duì)于熟悉字符命令的用戶,它可以提 供更加強(qiáng)大、更雜的操作靈活性,但是不能處理非文字的信息,而且不如圖形界面方便、直 觀、友好。圖形界面中常用的組件有菜單、文本域、標(biāo)簽、選擇鈕、列表、按鈕、滾動(dòng)條等。 2.答案:
Java中圖形界面的構(gòu)成成分 22、可以大致分類:容器、控制組件、用戶自定義成分。容器 用來包容和組織其他界面成分;控制組件是完成與用戶交互的最小單元;用戶自定義成分通 常只有顯示功能,不能接收用戶的輸入。設(shè)計(jì)和實(shí)現(xiàn)圖形用戶界面的工作主要有兩個(gè):創(chuàng)建、 組織各成分和定義各成分的功能,即它們對(duì)事件的響應(yīng)。
3 .答案:
事件處理的特殊之處在于其操作的啟動(dòng)不是主動(dòng)地掌握在程序流程中,而是由與程序交 互的用戶在使用程序時(shí)即興決定的。相應(yīng)地,事件處理機(jī)制必須具有監(jiān)聽的功能,以便隨時(shí) 監(jiān)測(cè)用戶的動(dòng)作。要實(shí)現(xiàn)監(jiān)聽功能,必須有事先定義好的事件,并規(guī)定不同事件由什么事件 源產(chǎn)生,有什么監(jiān)聽者處理。事件源是可能產(chǎn)生事件的圖形用戶界面組件。監(jiān)聽 23、者定義了處 理事件源所產(chǎn)生的事件的操作,把事件源注冊(cè)給按事件類型匹配的監(jiān)聽者后,系統(tǒng)在監(jiān)聽到 事件源產(chǎn)生的事件后自動(dòng)調(diào)用監(jiān)聽者中定義的操作完成交互過程,這就是Java的事件處理 機(jī)制。把事件源注冊(cè)給監(jiān)聽者,讓監(jiān)聽者處理事件,稱為委托事件模型。能夠產(chǎn)生事件的就 時(shí)間源,實(shí)現(xiàn)了處理事件的接口的就是監(jiān)聽者。在Java圖形用戶界面中,事件源通常是各 種控制組件,監(jiān)聽者通常是各種容器相關(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來實(shí)例化對(duì)象。
②Jlale是類名,不能用作變量名。
③傳送構(gòu)造函數(shù)的參數(shù)顛倒了。第一個(gè)參數(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版