可做奧鵬院校所有作業(yè),畢業(yè)論文,咨詢請?zhí)砑観Q:3230981406 微信:aopopenfd777
中國石油大學(xué)(北京)遠(yuǎn)程教育學(xué)院
期 末 考 試
《 Java語言程序設(shè)計 》
學(xué)習(xí)中心:_______ 姓名:________ 學(xué)號:_______
關(guān)于課程考試違規(guī)作弊的說明
1、提交文件中涉嫌抄襲內(nèi)容(包括抄襲網(wǎng)上、書籍、報刊雜志及其他已有論文),帶有明顯外校標(biāo)記,不符合學(xué)院要求或?qū)W生本人情況,或存在查明出處的內(nèi)容或其他可疑字樣者,判為抄襲,成績?yōu)椤?”。
2、兩人或兩人以上答題內(nèi)容或用語有50%以上相同者判為雷同,成績?yōu)椤?”。
3、所提交試卷或材料沒有對老師題目進(jìn)行作答或提交內(nèi)容與該課程要求完全不
一、題型
,4題,每題15分,共60分;編程題,2題,每題20分,共40分
二、題目
共兩套題,學(xué)號末尾數(shù)單號學(xué)生做第一套,學(xué)號末尾數(shù)雙號學(xué)生做第二套題
第一套題
一、
1 什么是多態(tài)性? 方法的重載和覆蓋有何區(qū)別? 閱讀下列代碼,指出其中存在的重載和覆蓋, 寫出輸出結(jié)果是什么?解釋為什么這樣輸出? (15分)
class C1
{
public void f() {
System.out.println("C1.f");
}
}
class C2 extends C1
{
public void f() {
System.out.println("C2.f");
}
}
class C3 {
public void g(C1 one) {
System.out.println("g(C1)");
one.f();
}
public void g(C2 two) {
System.out.println("g(C2)");
two.f();
}
}
public class Main1
{
public static void main(String[] args) {
C1 one = new C2();
C3 three = new C3();
three.g(one);
}
}
2、請用自己的語言介紹throw/throws有什么聯(lián)系和區(qū)別?在程序中應(yīng)如何使用?另外談?wù)刦inal、finally的區(qū)別和作用,必須舉例說明用法。(15分)
3、編寫一個描述學(xué)生基本情況的類,屬性包括姓名,學(xué)號,語文成績,數(shù)學(xué)成績和英語成績,方法包括信息輸出,設(shè)置姓名和學(xué)號,設(shè)置三門課程成績,計算總成績和平均成績。在main方法中對方法進(jìn)行測試(15分)
4、Java中實現(xiàn)多線程有幾種方式?這幾種方式有什么區(qū)別?然后采取其中一種方式設(shè)計一個線程例子,在例子中構(gòu)造4個線程對象實現(xiàn)對同一數(shù)據(jù)類對象進(jìn)行操作(數(shù)據(jù)初始值為0),其中線程對象1對數(shù)據(jù)執(zhí)行+10的操作,線程對象2對數(shù)據(jù)執(zhí)行+20的操作, 對象3對數(shù)據(jù)執(zhí)行乘以3的操作,線程對象4對數(shù)據(jù)執(zhí)行除以4的操作,,要求考慮線程同步,保證數(shù)據(jù)操作的正確性。要求提供程序代碼以及運(yùn)行結(jié)果截圖(15分)
二、編程題
1、編寫一個圖形用戶界面程序,包含兩個按鈕,一個信息標(biāo)簽(label)和一個顯示面板,兩個按鈕分別為“擲色子”和“移動”,在顯示面板中顯示一個小人(用小圓以及線繪制),隨機(jī)設(shè)定小人的初始位置,當(dāng)點(diǎn)擊“擲色子”按鈕,隨機(jī)產(chǎn)生移動信息(上移,下移,左移,右移,移動幾步),并顯示在信息標(biāo)簽中,點(diǎn)擊移動,按照產(chǎn)生的移動信息,讓小人進(jìn)行移動。要求提供完整程序代碼以及運(yùn)行結(jié)果截圖(20分)
2、編寫一個班級推優(yōu)(優(yōu)秀學(xué)生干部)投票管理程序。列出參與推優(yōu)的學(xué)生名單(6名),可以勾選進(jìn)行投票,要求每個參選學(xué)生前面有圖標(biāo)表示候選人的職務(wù),每人可以投3票,每次投票后能夠顯示當(dāng)前投票人數(shù)以及每名候選者得票數(shù),圖形化柱狀圖顯示得票數(shù),可以保存投票結(jié)果到文本文件。要求提供完整程序代碼以及運(yùn)行結(jié)果截圖(20分)
第二套題
一、
1 什么是多態(tài)性? 方法的重載和覆蓋有何區(qū)別? 閱讀下列代碼,指出其中存在的重載和覆蓋, 寫出輸出結(jié)果是什么?解釋為什么這樣輸出? (15分)
class Class1
{
public void find() {
System.out.println("Class1.find");
}
}
class Class2 extends Class1
{
public void find() {
System.out.println("Class2.find");
}
}
class Class3 {
public void get(Class1 one) {
System.out.println("get(Class1)");
one.find();
}
public void get(Class2 two) {
System.out.println("get(Class2)");
two.find();
}
}
public class Test1
{
public static void main(String[] args)
{
Class1 one = new Class2();
Class3 three = new Class3();
three.get(one);
}
}
2、請說說final、finally的區(qū)別和作用,舉例說明用法;另外用自己的語言介紹throw/throws有什么聯(lián)系和區(qū)別?在程序中應(yīng)如何使用?(15分)
3、編寫一個描述老師基本情況的類,屬性包括姓名,教工號,基本工資,崗位工資和績效工資,方法包括信息輸出,設(shè)置姓名和教工號,設(shè)置三種工資金額,計算總工資(三種工資加起來)和稅后工資(按如下方式計算,3000以內(nèi)不收稅,3000-5000之間的部分扣10%,大于5000的部分扣15%)。在main方法中對方法進(jìn)行測試(15分)
4、Java中實現(xiàn)多線程有幾種方式?這幾種方式有什么區(qū)別?然后采取其中一種方式設(shè)計一個線程例子,在例子中構(gòu)造4個線程對象實現(xiàn)對同一數(shù)據(jù)類對象進(jìn)行操作(數(shù)據(jù)初始值為10),其中線程對象1對數(shù)據(jù)執(zhí)行乘以10的操作,線程對象2對數(shù)據(jù)執(zhí)行乘以20的操作, 對象3對數(shù)據(jù)執(zhí)行+30的操作,線程對象4對數(shù)據(jù)執(zhí)行+40的操作,要求考慮線程同步,保證每一步數(shù)據(jù)操作的正確性。要求提供程序代碼以及運(yùn)行結(jié)果截圖(15分)
二、編程題
1、編寫一個圖形用戶界面程序,包含兩個按鈕,一個信息標(biāo)簽(label)和一個顯示面板,兩個按鈕分別為“擲色子”和“移動”,在顯示面板中顯示一個小汽車(用小圓\矩形以及線繪制),隨機(jī)設(shè)定小汽車的初始位置,當(dāng)點(diǎn)擊“擲色子”按鈕,隨機(jī)產(chǎn)生移動信息(上移,下移,左移,右移,移動幾步),并顯示在信息標(biāo)簽中,點(diǎn)擊移動,按照產(chǎn)生的移動信息,讓小汽車進(jìn)行移動。要求提供完整程序代碼以及運(yùn)行結(jié)果截圖(20分)
2、編寫一個班級推優(yōu)(三好生)投票管理程序。列出參與推優(yōu)的學(xué)生名單(8名),可以勾選進(jìn)行投票,要求每個參選學(xué)生前面有圖標(biāo)表示候選人的性別,每人可以投4名候選人,每次投票后能夠顯示當(dāng)前投票人數(shù)以及每名候選者得票數(shù),圖形化柱狀圖顯示得票數(shù),可以保存投票結(jié)果到文本文件。要求提供完整程序代碼以及運(yùn)行結(jié)果截圖(20分)
三、要求
第1題,必須明確指出存在的重載和覆蓋,對于輸出結(jié)果進(jìn)行解析。
第2題,必須舉例說明用法。
第3題,必須提供程序代碼以及運(yùn)行結(jié)果截圖。
第4題, 必須提供程序代碼以及運(yùn)行結(jié)果截圖。
編程題1,2題,必須提供程序代碼以及運(yùn)行結(jié)果截圖。
四、評分標(biāo)準(zhǔn)
一、(4題,每題15分)
1什么是多態(tài)性?(2分),方法的重載和覆蓋有何區(qū)別?(3分), 指出其中存在的重載和覆蓋(3分) 寫出輸出結(jié)果(3分)解釋為什么這樣輸出(4分)
2 throw/throws有什么聯(lián)系和區(qū)別 (4分) 在程序中應(yīng)如何使用?(3分) final、finally的區(qū)別和作用(4分)舉例說明用法(4分)
3類的聲明以及屬性(3分),方法的編寫(8分)在main方法中對方法進(jìn)行測試(2分)運(yùn)行結(jié)果截圖(2分)
4 Java中實現(xiàn)多線程有幾種方式?這幾種方式有什么區(qū)別 (4分),線程類以及數(shù)據(jù)類的代碼(4分)線程同步(3分),4個線程對象(2份)運(yùn)行結(jié)果截圖(2分)
二、編程題(2題,每題20分)
1 界面布局(5分),事件處理(5分),圖形繪制(5分),對象移動(2分),運(yùn)行結(jié)果截圖(3分)
2界面布局(5分),事件處理(4分),圖形繪制(4分),保存結(jié)果到文件(4分),運(yùn)行結(jié)果截圖(3分)