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