java大作業(yè)附運(yùn)行截圖及代碼_第1頁
java大作業(yè)附運(yùn)行截圖及代碼_第2頁
java大作業(yè)附運(yùn)行截圖及代碼_第3頁
java大作業(yè)附運(yùn)行截圖及代碼_第4頁
java大作業(yè)附運(yùn)行截圖及代碼_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

威衣房了移傳石孝

《Java程序設(shè)計》上機(jī)報告

學(xué)院通信工程學(xué)院

專業(yè)_________通信工程_______________

學(xué)生姓名______________

學(xué)生學(xué)號

第一次上機(jī)報告

必做題

題目1:課本P5312;

題目1的運(yùn)行結(jié)果截圖:

@Console笈?Tasks

<terminated>Car[JavaApplication]E:\Java\jdkL8.0JL44\bin\javaw.exe(2017年】

品牌:本田顏色:黑色自重:15B0.0公斤搭栽的人數(shù):

題目1的源程序:

packagechi;

publicclassCar{

publicstaticvoidmain(Stringargs[]){

Carinfobjl=newCarinf(,1500,5);

System.out.println(objl.show());

)

)

classCarinf{

Stringname;

Stringcolor;

doubleweight;

intpassenger;

Carinf(Strings,Stringb,doubled,inti){

name=s;

color=b;

weight=d;

passenger=i;

)

Stringshow(){

return"品牌:"+name+"顏色:"+color+”自重:

"+weight+"公斤搭載的人數(shù):"+passenger;

)

)

題目2:課本P5315;

題目2的運(yùn)行結(jié)果截圖:

@Console笈yTasks

<terminated>Reverse[JavaA

逆序輸出

a

a

j

e

i

1

i

題目2的源程序:

packagechi;

publicclassReverse{

publicstaticvoidmain(Stringargs[]){

System.out.printin("逆序輸出");

for(inti=args[0].length()-l;i>=0;i--)

{

System.out.printIn(args[0].charAt(i));

)

)

)

選作題

題目3:參考下列要求,修改Snowman.java:

(1)在圖片的右上角添加文本;

(2)給雪人增加更多的裝飾;

(3)給畫面添加更多內(nèi)容,比如云朵,圣誕樹,房屋等。

題目3的運(yùn)行結(jié)果截圖:

題目3的源程序:

packagechi;

importjava.awt.*;

importjava.applet.Applet;

publicclassSnowmanextendsApplet

publicvoidinit()

setBackground(Color.cyan);〃設(shè)置背景色

)

//繪制雪人

publicvoidpaint(Graphicsg)

finalintMID=150;

finalintTOP=50;

g.setColor(Color.blue);//設(shè)置前景色

g.fillRect(0,175,300,50);//ground

g.setColor(Color.yellow);

g.fill(DvaM-40,-40,80,80);//sun

g.setColor(Color.white);

g.fillOval(MID-20,TOP,40,40);//head

g.fillOval(MID-35,TOP+35,70,50);//uppertorso

g.fill(Dval(MID-50,TOP+80,100,60);//lowertorso

〃雪花

g.fillOval(MID-40JOP+10z5z5);

g.fillOval(MID-80,TOP+20,5,5);

g.fillOval(MID+35,TOP+15,5,5);

g.fillOval(MID-120,TOP+50,5,5);

g.fillOval(MID-100,TOP+90,5,5);

g.setColor(Color.black);

g.fillOval(MID-10,TOP+10,5,5);//lefteye

g.fillOval(MID+5,TOP+10,5,5);//righteye

g.setColor(Color.black);

g.fillOval(MID-2/TOP+45/8/10);

g.setColor(Color.blue);

g.fillOval(MID-2,TOP+60,8,10);

g.drawArc(MID-10JOP+20/20/10/190/160);

//smile

g.drawLine(MID-25/TOP+60/MID-50/TOP+40);

//leftarm

g.drawLine(MID+25JOP+60zMID+55JOP+60);

〃rightarm

g.drawLine(MID-20/TOP+5/MID+20/TOP+5);

〃brimofheat

g.fillRect(MID-15JOP-20,30,25);

//topofhat

g.setColor(Color.red);

g.fillOval(MID-2,TOP+18,5,5);//鼻子

g.setColor(Color.black);

g.drawstring("有點(diǎn)冷啊!",MID+10,TOP-30);

g.setColor(Color.gray);

g.fillRect(MID-120zTOP+35/20/90);

g.setColor(Color.green);

g.fillOval(MID-150,TOP+10,75,60);

)

)

題目4:編寫一個Applet程序,在上面展示自己設(shè)計的名片,包括文字和圖形。(注:

下圖名片中的背景圖案僅為參考樣式。)

題目4的運(yùn)行結(jié)果截圖:

題目4的源程序:

packagechi;

importjava.awt.*;

importjava.applet.Applet;

publicclassDesignextendsApplet{

publicvoidinit()

{setBackground(Color.lightGray);〃設(shè)置背景色

)

publicvoidpaint(Graphicsg)

{

finalintMID=150;

finalintTOP=50;

g.setColor(Color.white);

g.drawString("西安電子科技大學(xué)”,MID+10,TOP+130);

g.drawString("XidianUniversity'*,MID+10,TOP+150);

g.setColor(Color.magenta);

g.drawOvaI(MID-90,TOP?40,60,60);

g.drawOval(MID-100,TOP+80,40,40);

g.setColor(Color.yellow);

g.drawOval(MID+10,TOP-20,50,50);

g.drawOval(MID-130zTOP+50z40,40);

g.setColor(Color.cyan);

g.drawOval(MID-20,TOP-50,30,30);

g.drawOval(MID-40,TOP+20,65,65);

第二次上機(jī)報告

必做題

題目1:課本P9212;

題目1的運(yùn)行結(jié)果截圖:

4ConsoleS3后Tasks

APF1[JavaApplication]E:\Java\jdkl

愉人一存整數(shù)

輸入quit,回車后退出

5

5項(xiàng):5

題目1的源程序:

packagech2;

importjava.io.lOException;

importjava.io.BufferedReader;

importjava.io.InputStreamReader;

publicclassAPP1{

publicstaticvoidmain(Stringargs[])throwsIOException{

BufferedReaderbuf;

buf=newBufferedReader(newInputStreamReader(System.in));

Stringstr;

intx;

System.out.printin("輸入一個整數(shù)");

System.out.printin("輸入quit,回車后退出

while(true){

str=buf.readLine();

if(str.equals(Hquit"))

break;

x=lnteger.parselnt(str);

System.out.println(x+”項(xiàng):"+factorial(x));

}

)

staticlongfactorial(intk){

Iong[]fib=newlong[k];

fib[O]=l;

fib[l]=l;

if(k>l){

for(inti=2;i<=k-l;i++)

fib[i]=fib[i-l]+fib[i-2];

)

returnfib[k-l];

)

)

題目2:課本P9221;

題目2的運(yùn)行結(jié)果截圖:

Console區(qū)@Tasks

APP2[JavaApplication]E:\Java\jdkl.8.0_144\bin

請諭入立方體邊長:2

立方體的體積:8

請諭入長方體的長:

請渝入長方體的定:2

請諭入長方體的高:3

長方體的體積:6

題目2的源程序:

packagech2;

importjava.io.*;

publicclassAPP2{

publicstaticvoidmain(String[]args)throws

IOException{

inta,b,c;

doubler,h;

BufferedReaderbuf;

buf=newBufferedReader(new

InputStreamReader(System.in));

Stringstr;

System.out.print(”請輸入立方體邊長:”);

str=buf.readLine();

a=Integer.parselnt(str);

System.out.printIn("立方體的體積:"+i/oLu/we(a));

System.out.println();

System.out.print("請輸入長方體的長:”);

str=buf.readLine();

a=Integer.parselnt(str);

System.out.print("請輸入長方體的寬:

str=buf.readLine();

b=Integer.parselnt(str);

System.out.print("請輸入長方體的高:");

str=buf.readLine();

c=Integer.parselnt(str);

System.out.printIn("長方體的體積:

"+votuwe(aJbJc));

System.out.println();

System.out.print("請輸入圓柱體的底面半徑:");

str=buf.readLine();

r=Double.parseDoubLe(str);

System.out.print("請輸入圓柱體的高

str=buf.readLine();

h=Double.parseDoubLe(str);

System.out.priirtln(''圓柱體的體積:"+voLume(r,h)y');

System.out.println();

)

staticintvolume(inta){

intvolume;

volume=a*a*a;

returnvolume;

)

staticintvolume(inta,intb,intc){

intvolume;

volume=a*b*c;

returnvolume;

)

staticdoublevolume(doubleredoubleh){

doublevolume;

volume=Math.PI*r*r*h;

returnvolume;

)

)

題目3:課本P1451;

題目3的運(yùn)行結(jié)果截圖:

〈terminated〉A(chǔ)PP3[JavaApp

寬3

長5

面漢15

寬3長5面積15

題目3的源程序:

packagech2;

publicclassAPP3{

publicstaticvoidmain(Stringargs[])

{MyRectangleobj=newMyRectangle(1,5,6,2);

System.out.println(obj.getW());

System.out.println(obj.getH());

System.out.println(obj.area());

System.out.println(obj.toString());

)

)

classMyRectangle{

intxllp;

intyllp;

intxDown;

intyDown;

MyRectangle(intxUp,intyllp^intxDown,intyDown){

this.xUp=xllp;

this.yllp=yUp;

this.xDown=xDown;

this.yDown=yDown;

)

publicStringgetW(){

return"寬"+(yllp-yDown);

)

publicStringgetH(){

return"長"+(xDown-xUp);

)

publicStringarea(){

return”面積”+((yUp-yDown)*(xDown-xUp));

)

publicStringtoString(){

return"寬"+(yllp-yDown)+"長”+(xDown-xllp)+“面積

"+((yUp-yDown)*(xDown-xUp));

)

)

題目4:

課本P1454

題目4的運(yùn)行結(jié)果截圖:

@Console次?Tasks

<terminated>APP4[JavaApplication]E^Java\jdkl.8.0144

姓名:張三指令:gohome

姓名:張三指令:cometoschool

指令為:cometoschool

用戶個數(shù):1

題目4的源程序:

packagech2;

publicclassUser{

Stringname;

privateStringcommand;

publicstaticintnum=Q;

publicUser(Stringname){

this();

=name;

)

publicUser(Stringname,Stringcommand){

this(name);

mand=command;

)

publicStringtoString(){

return"姓名:"+name+"指令:"+command;

)

publicUser(){

num++;

}

publicStringgetcommand(){

returncommand;

)

publicvoidsetcommand(Stringcommand){

mand=command;

)

)

packagech2;

publicclassAPP4{

publicstaticvoidmain(Stringargs[]){

Userobjl=newUser("張三二"gohome");

System.out.println(objl.toString());

objl.setcommand("cometoschool");

System.out.println(objl.toString());

System,out.printIn("指令為:"+obj1.getcommand());

System.out.printin("用戶個數(shù):"+objl.num');

)

)

選作題

題目1:設(shè)計Circle類,在小程序窗口中繪制多個圓。每個圓的大小、顏色利用構(gòu)造方

法的參數(shù)指定。

題目1的運(yùn)行結(jié)果截圖:

,國小S麗煮.ol回I區(qū)「

題目1的源程序:

packagech2;

importjava.awt.*;

importjava.applet.Applet;

publicclassAPP5extendsApplet

{

Circlecl,c2,c3,c4,c5,c6,c7;

publicvoidinit(){

cl=newCircle(10Color.red,100,100);

c2=newCircle(2。,Color.yellow,35,35);

c3=newCircle(3。,Color.green,70,70);

c4=newCircle(40,Color.blue,0,0);

setBackground(Color,btac/?);

)

publicvoiddrawcircle(Graphicsg){

cl.draw(g);

c2.draw(g);

c3.draw(g);

c4.draw(g);

)

}publicclassCircle{

intdiameter;

intx;

inty;

Colorcolor;

publicCircle(intsize,Colorshade,intxl,intyl){

diameter=size;

color=shade;

x=xl;

y=yl;

}

publicvoiddraw(Graphicsg){

g.setColor(color);

g.fillOval(Xjy,diameterdiameter);

)

)

題目2:計Building類,在小程序窗口中繪制若干幢大樓。大樓的寬度與高度利用構(gòu)造

方法的參數(shù)指定。每幢大樓的顏色均為黑色,上面有一些黃色窗戶,窗戶的個數(shù)為之

間的隨機(jī)數(shù),窗戶的位置在整棟大樓上隨機(jī)分布。

題目2的運(yùn)行結(jié)果截圖:

題目2的源程序:

packagech2;

importjava.awt.*;

importjava.applet.Applet;

publicclassRectangle{

doublem;

doublen;

doublex;

doubley;

Colorcolor;

Rectangle(doubleDownx.doubleDowny,Color

shade,doubleUpx,doubleUpy){

m=Downx;

n=Downy;

color=shade;

x=Upx;

y=Upy;

)

publicvoiddraw(Graphicsg){

g.setColor(color);

g.fillRect((int)m,(int)n,(int)xz(int)y);

)

)

java.awt.*;

importjava.applet.Applet;

importjava.math.*;

importjava.util.Random;

publicclassBuildingextendsApplet{

Rectanglerl,r2,r3,r4,r5,r6,r7,r8;

Randomrdl=newRandom();

inti;

publicvoidinit(){

rl=newRectangle(10,80zColor.blackz20,80);

r2=newRectangle(40z60zColor.black,35z100);

r3=newRectangle(80,90,Color.black/30/70);

r4=newRectangle(120,110,Color.black,10,50);

)

publicvoidpaint(Graphicsg){

rl.draw(g);

r2.draw(g);

r3.draw(g);

r4.draw(g);

intnuml=rdl.nextlnt(10);

for(i=l;i<=numl;i++){

r5=new

Rectangle(Math.floor(Math.random()*(30-20+l)+20)zMath.floo

r(Math.random()*(160-80+l)+80)/Color.yellow,2/2);

r5.draw(g);

)

intnum2=rdl.nextlnt(10);

for(i=l;i<=num2;i++){

r6=new

Rectangle(Math.floor(Math.random()*(75-40+1)+40),Math.floo

r(Math.random()*(160-60+l)+60)/Color.yellow/2/2);

r6.draw(g);

)

intnum3=rdl.nextlnt(10);

for(i=l;i<=num3;i++){

r7=new

Rectangle(Math.floor(Math.random()*(110-80+1)+80),Math.flo

or(Math.random()*(160-90+l)+90)/Color.yellow/2,2);

r7.draw(g);

)

intnum4=rdl.nextlnt(10);

for(i=l;i<=num4;i++){

r8=new

Rectangle(Math.floor(Math.random()*(130-120+l)+120)zMath.f

loor(Math.random()*(160-110+l)+110)/Color.yellow/2,2);

r8.draw(g);

)

)

)

第三次上機(jī)報告

必做題

題目1:

課本P1465

題目1的運(yùn)行結(jié)果截圖:

程序OE1列已過附案引通助

上「淡下-^解無?*

尚要嵌囊|字般|由造HI方法由眼科:字01臨Ml方流

m?iibmydasses

美MyCube

)avalangObject

mylibmydassesMyRectangle

mylrt)mydassesMyCube

puslicclassMyCube

extendsmylib.mydasses.MyRectangle

字段富要

字段

限定符和美里字段和說明

protectedinth

立方體的高

均造器察要

構(gòu)造注

構(gòu)造注和說明

MyCube1)

構(gòu)造方法,高設(shè)貿(mào)為。

MyCube(intxUp,intyUp,intxDom,intyDowr,inth)

構(gòu)造方法,創(chuàng)建兩個生標(biāo)值(xUp,yUp),(xDown,Rown諭點(diǎn),和上方體高h(yuǎn)

口w已過時索引籍助

上ftTTWa*無叫

?灰kHaiflan方法以師員”字皎i由iam方法

mylibmyciasses

類MyRectangle

網(wǎng)alangObject

mylibmydassesMyRectangle

publicclassMyRectangle

expendsjava.lang.Object

MjRecUngle在用來創(chuàng)建平面坐標(biāo)系中兩個點(diǎn)(xUp,yUp),(xI)own.yDown)

方法我要

實(shí)你I方法具體方法

用定符相類更方法和說明

intaroaO

得到矩形的面枳

intgetHO

得到拒形的長

intgetVO

得到矩形的食

java.lang.StringtoStxingO

返回坐標(biāo)的長窩面移

從類健承的方法java.Iang.Object

clone,equals,finalize,getClass,hashCode,notify,notifyAll,viit,vait.vait

題目1的源程序:

packagemylib.myclasses;

//MyCube繼承MyRectangle構(gòu)造一個立方體

publicclassMyCubeextendsMyRectangle{

/**立方體的高*/

protectedinth;〃定義為protected訪問級別,派生類時讓子類可見

/**構(gòu)造方法,高設(shè)置為0*/

publicMyCube(){//System(>out.printin("調(diào)用MyCube類的無參數(shù)構(gòu)造方法”);

)

/**構(gòu)造方法,創(chuàng)建兩個坐標(biāo)值(xUp,yUp),(xDown/Down)的點(diǎn),和立方體高h(yuǎn)

*@paramxUp點(diǎn)Up的橫坐標(biāo)

*@paramyUp點(diǎn)Up的縱坐標(biāo)

*@paramxDown點(diǎn)Down的橫坐標(biāo)

*@paramyDown點(diǎn)Down的縱坐標(biāo)

*@paramh立方體的高

*/

publicMyCube(intxllp>intyUp^intxDown,intyDown,inth){

super(xUp,yUp,xDown,yDown);

this.h=h;

)

/**設(shè)置立方體的高

*

*@paramh用來給類中變量h賦值

*@return沒有返回值

*/

publicvoidsetH(inth){

if(h>0)

this.h=h;

}

/**得到立方體的高

*@param該方法沒有參數(shù)

*@return該方法返回立方體的高h(yuǎn)

*/

publicintgeth(){

returnh;

}

/**計算立方體的體積

*@param該方法沒有參數(shù)

*@return該方法返回立方體體積

*/

publicdoublevalue(){〃求長方體體積

return(super.getH())*(super.getW())*h;

)

/**計算立方體表面積

*@param該方法沒有參數(shù)

*@return該方法返回立方體表面積

*/

publicintarea(){

return

(super.getH())*(super.getW())*2+(super.getH())*h*2+(super.getW())*h*2;

)

/**返回立方體的體積和表面積

*@return該方法返回字符串

*/

publicStringtoString(){

return"體積"+value()+”表面積”+area();

}

}

packagemylib.myclasses;

/**MyRectangle類用來創(chuàng)建平面坐標(biāo)系中兩個點(diǎn)(xUp,yllp))(xDown,yDown)*/

publicclassMyRectangle{

/**點(diǎn)xllp坐標(biāo)*/

privateintxUp;〃定義為protected訪問級別,派生類時M讓子類看見

/**點(diǎn)yUp坐標(biāo)*/

privateintyUp;〃定義為protected訪問級別,派生類時可讓子類著笫

/**點(diǎn)xDown坐標(biāo)*/

privateintxDown;〃定義為protected訪問級別,派生類時讓子類看見

/**點(diǎn)yDown坐標(biāo)*/

privateintyDown;〃定義為protected訪問級別,派生類時可讓子類看愚

/**構(gòu)造方法,點(diǎn)坐標(biāo)值設(shè)置為(0,0)*/

MyRectangle(){//System.out。printing調(diào)用MyRectangle類的無參數(shù)構(gòu)造方法”);

}

/**構(gòu)造方法,創(chuàng)建兩個坐標(biāo)值(xUp,yllp),(xDown,yDown)的點(diǎn)

*@paramxUp點(diǎn)、Up的橫坐標(biāo)

*@paramyUp點(diǎn)Up的縱坐標(biāo)

*@paramxDown點(diǎn)Down的橫坐標(biāo)

*@paramyDown點(diǎn)Down的縱坐標(biāo)

*/

MyRectangle(intxUp^intyllp^intxDown,intyDown){

this.xllp=xUp;

this.yUp=yllp;

this,xDown=xDown;

this.yDown=yDown;

}

/**得到矩形的寬

*@param該方法沒有參數(shù)

*@return該方法返回寬

*/

publicintgetW(){

return(yllp-yDown);

}

/**得到矩形的長

*@param該方法沒有參數(shù)

*@return該方法返回長

*/

publicintgetH(){

return(xDown-xUp);

)

/**得到矩形的面積

*@param該方法沒有參數(shù)

*@return該方法返回面積

*/

publicintarea(){

return((yUp-yDown)*(xDown-xllp));

)

/**返回坐標(biāo)的長寬面積

*@return該方法返回字符串

*/

publicStringtoString(){

return”寬”+(yUp?yDown)+”長”+(xDown-xllp)+”面積

"+((yUp-yDown)*(xDown-xlIp));

)

題目2:

課本P1832

題目2的運(yùn)行結(jié)果截圖:

〈terminated〉A(chǔ)PP2(1)[JavaAp

1.class是字節(jié)碼文件

題目2的源程序:

packagech3;

importjavax.swing.*;

importjava.util.regex.Pattern;

publicclassAPP2{

publicstaticvoidmain(Stringargs[]){

Stringinput=J0ptionPane.s/7Ow!T7putDiaLog("請輸入

文件名:”);

if(input.endsWith("class")){

System,out.println(input+”是字節(jié)碼文件");

}

elseif(input.endsWith("java")){

System.out.println(input+”是java文件”);

}

else{

System,out.printin(input+”是其他文件");

)

)

)

題目3:課本P1847;

題目3的運(yùn)行結(jié)果截圖:

^terminated*APP3(1)[JavaApplication]E:\J3va\jdkl.8.l

123@163.com是滿足要求的電子郵件!

asd@sina.com不是滿足要求的電子郵件!

asd@163.com是滿足要求的電子郵件!

123@sina.com不是滿足要求的電子郵件!

123@lsina.com不是滿足要求的電子郵件!

題目3的源程序:

packagech3;

importjavax.swing.*;

importjava.util.regex.Pattern;

publicclassAPP3{

publicstaticvoidmain(Stringargs[]){

inti=0;

for(i=0;i<5;i++){

Stringinput=JOptionPane.shoiAiInputDiaLog

電子郵件地址:”);

Stringregex="[a-zA-Z_0-9]\\w+[@]\\d{3}+[.]\\w*";

if(input.matches(regex)){

System,out.println(input+”是滿足要求的電子郵件!

");

)

else{

System.out.println(input+"不是滿足要求的電子郵

件!”);

)

)

)

)

題目4:課本P18412;

題目4的運(yùn)行結(jié)果截圖:

?

曰Console區(qū)/

〈terminated?APP4(1)[JavaApplication]E:\Jav

正面:501反面:499

題目4的源程序:

packagech3;

importjava.util.Random;

publicclassAPP4{

publicstaticvoidmain(Stringargs[]){

Randomrdl=newRandom();

inti=l;

intsuml=0;

intsum0=0;

for(i=l;i<=1000;i++){

intnum=rdl.nextlnt(2);

if(l==num){

suml++;

)

if(0==num){

SUH10++;

)

)

System.out.printing正面:"+suml+"反

面:"+sum0);

)

)

題目5:

設(shè)■■一個Student類,具有如下的屬性和方法:

StudentAddress

-name:String-streetAddress:String

-homeAddress:Address-city:String

?score:int-zipCodeJong

+toString():String+toString():String

其中,homeAddress是Address類的對象。

(2)設(shè)計Course類。一個課程對象至少應(yīng)掌握五名學(xué)生的學(xué)習(xí)情況(使用上述Student

類)。Course類的構(gòu)造方法只接受課程名稱。提供--個addStudent方法,方法接受一個Student

參數(shù)(Course對象應(yīng)記錄選修此課程的全部有效學(xué)生)。提供一個average方法,計算并返

回全部學(xué)生的平均分的平均分。再提供一個roll方法,打印選修這門課程的所有學(xué)生的名單。

通過一個帶main方法的測試類,創(chuàng)建一個這樣的課程,再添加幾名學(xué)生,最后打印出學(xué)生

名冊和測驗(yàn)的平均值。

題目5的運(yùn)行結(jié)果截圖:

@Console陽?)Tasks

〈terminated〉A(chǔ)PP5[JavaApplication]E:\Java\jdkl.8.0144\bin\javaw.exe(2017年1

科甘:Java分?jǐn)?shù):85.0

姓名:John街道號:一路城市:西安郵編:12345分?jǐn)?shù):80.0

姓名:Finch街道號:二路城市:西安郵編:67890分?jǐn)?shù):90.0

姓名:Sha風(fēng)街道號:二路城市:西安郵編:67890分額:85.0

題目5的源程序:

publicclassAPP5{

publicstaticvoidmain(Stringargs[]){

Studentobjl=newStudent("Hohn",newAddress("一路",'

西安”,12345),80);

Studentobj2=newStudent("Finch",newAddress("二路

:"西安”,67890),9。);

Studentobj3=newStudent("Shaw",newAddress("二路",'

西安”,67890),85);

Coursecoursel=newCourse("3ava");

coursel.addstudent(objl);

course工.addstudent(obj2);

coursel.addstudent(obj3);

System.out.println(“科目:"+coursel.classname+”分

數(shù):"+coursel.average())j

counsel.roll();

)

)

publicclassAddress{

StringstreetAddress;

Stringcity;

longzipCode;

Address(StringstreetAddress,Stringcity,long

zipCode){

this.streetAddress=streetAddress;

this.city=city;

this.zipCode=zipCode;

)

publicStringtoString(){

Stringstr="街道號:"+streetAddress+"城市:"+city+”

郵編:"+zipCode;

returnstr;

)

)

publicclassStudent{

Stringname;

AddresshomeAddress;

floatscore;

Student(Stringname,AddresshomeAddress,float

score){

=name;

this.homeAddress=homeAddress;

this.score=score;

)

publicStringtoString(){

Stringstr;

str="姓名:"+name+homeAddress.toString()+"分

數(shù):"+score;

returnstr;

)

)

publicclassCourse{

Student[]student=newStudent[5];

Stringclassname;

inti=0;

intj=0;

Course(Stringclassname){

this.classname=classname;

)

voidaddstudent(Studentnewstd){

student[i]=newstd;

i++;

)

floataverage(){

floatsum=0;

floatavescore=0;

for(j=0;j<i;j++){

sum+=student[j].score;

)

avescore=sum/i;

returnavescore;

)

voidroll(){

for(intj=0;j<i;j++){

System.out.printIn(student[j].toString());

)

)

)

選作題

題目1:編寫繼承自JFrame類的窗口應(yīng)用程序,模擬一個交通信號燈的變化,每按一

次按鈕,信號燈的狀態(tài)變化一次,如下圖所示。

題目1的運(yùn)行結(jié)果截圖:

ChangeLight

ChangeLight

題目1的源程序:

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassRGLightextendsDFrame{

^Buttonbut=newJButton();〃按鈕

intf=0;〃控制變量

publicRGLight(Strings){

LightPanelLightPanel;

ContainercontentPane=getContentPane();//得至惱口

的內(nèi)容面板

contentPane.setLayout(newBorderLayout());〃設(shè)置

內(nèi)容面板的布局

//南邊:有一個按鈕

DPanelpanel=newJPanel();〃創(chuàng)建缺省布局的面板

but=new3Button("ChangeLight");〃創(chuàng)建按鈕

panel.add(but);〃將按鈕添加到面板中

contentPane.add(panel,BorderLayout.SOUTH);〃將按

鈕添加到窗口南邊

setSize(150,150);

setVisible(true);

//中間紅綠燈

LightPanel=newLightPanel();//紅綠燈面板

add(LightPanel,BorderLayout.CF/V7E/?);

but.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){//

改變控制變量f

f++;

if(f==3){

f=0j

)

LightPanel.repaint。"/重新繪制紅綠燈面板

)

});

)

classLightPanelextendsJPanel{〃紅綠燈面板

protectedvoidpaintcomponent(Graphicsg){

super.paintComponent(g);

if(f==0){

g.setColor(Color.R£D);

g.fillOval(200,150,50,5。);〃紅燈亮

g.setColor(Color.c/ar/?Gray);

g.fillOval(200,210,50,50);

g.fillOval(200,270,50,50);

elseif(f==l){

g.setColor(Color.dar/?Gray);

g.fillOval(20。,150,50,50);

g.setColor(Color.ye(.Low);

g.fillOval(200,210,50,50);〃黃燈亮

g.setColor(Color.dar/?Gray);

g.fillOval(200,270,50,50);

)

elseif(f==2){

g.setColor(Color.dar/?Gray);

g.fillOval(200J150,50,50);

g.fillOval(200,210,50,50);

g.setColor(Color.green);

g.fillOval(200,270,50,50);〃綠燈亮

)

)

)

publicstaticvoidmain(String[]args){

RGLightw=newRGLight("RGLight");

)

)

第四次上機(jī)報告

必做題

題目1:課本P2068;

題目1的運(yùn)行結(jié)果截圖

里Console漢@Tasks

〈terminated〉A(chǔ)PP1(1)[JavaApplication]E:\Java\jdkl.8,0_144\bin\javaw.exe(2017年L

x=88

x=L54

ch4.MyException:異常:128要在0~100

ch4.MyException:異常:128要在0?100

atch4.MyAdd.add(MyAdd.java:ll)

atch4.APP1.main(APP1.java:13)

題目1的源程序:

publicclassMyExceptionextendsException{

MyException(Stringmsg){

super(msg);

)

)

publicclassAPP1{

publicstaticvoidmain(Stringargs[]){

try{

MyAddaddl=newMyAdd(88);

MyAddadd2=newMyAdd(66);

MyAddadd3=newMyAdd(128);

addl.add(88);

add2.add(66);

add3.add(128);

)

catch(MyExceptione){

System.out.printin(e.toString());

e.printStackTrace();

)

)

publicclassMyAdd{

privateintx;

staticinti;

publicMyAdd(intx){

this.x=x;

)

publicvoidadd(intx)throwsMyException{

if(x>100||x<0){

thrownewMyException("異常:"+x+”要在0~100");

)

else{

t+=x;

System.out.println("x="+i);

};

)

publicintgetX(){

returnx;

)

)

題目2:課本P2069;

題目2的運(yùn)行結(jié)果截圖:

BConsole笈?Tasks

〈terminated〉A(chǔ)PP2(2)[JavaApplication]E

程第1次運(yùn)行

A線程第2次運(yùn)行

B線程第1次運(yùn)行

B線程第2次運(yùn)行

B線程第3次運(yùn)行

C線程第1次運(yùn)行

當(dāng)前活動線程數(shù):4

main。運(yùn)行結(jié)束

C線程第2次運(yùn)行

C線程第3次運(yùn)行

A線程第3次運(yùn)行

題目2的源程序:

packagech4;

publicclassAPP2{

publicstaticvoidmain(Stringargs[]){

Threadtl=newMyThread("A線程”,1000);

Threadt2=newMyThread("B線程

Threadt3=newMyThread("C線程

tl.start();

t2.start();

t3.start();

System.。4,printin("當(dāng)前活動線程數(shù):

"+Thread.activeCount());

System.out.printin("main()"+"運(yùn)行結(jié)束");

)

)

publicclassMyThreadextendsThread{

publiclongdelay;

publicMyThread(Stringstr,longdelay){

super(str);

this.delay=delay;

)

publicvoidrun(){

for(inti=l;i<=3;i++){

System.out.printin(getName()+"第"+i+"次運(yùn)行

");

)

try{

steep(delay);

)

catch(InterruptedExceptione){

e.printStackTrace();

)

)

)

題目3:課本P20710;

題目3的運(yùn)行結(jié)果截圖:

@Console區(qū)?Tasks

<terminated>TestRunnable[JavaApplication]E:\J3va\jdkl.8.(

第?次埠皆erminated*TestRunnable[JavaApplied。11]E:\JE

當(dāng)前活動線程數(shù)E------------------------------

第1次運(yùn)行

々K,、一、一Z-

期1次建仃

KK、^1—、一4一

弟2次運(yùn)仃

第3次運(yùn)行

main。運(yùn)行結(jié)束

第2次運(yùn)行

用3次塔仃

A線程結(jié)束

B線程結(jié)束

第2次運(yùn)行

第3次運(yùn)行

(:線程結(jié)束

題目3的源程序:

publicclassMyRunnableimplementsRunnable{

publiclongdelay;

publicMyRunnable(longdealy){

this.delay=delay;

)

publicvoidrun(){

for(inti=l;i<=3;i++){

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論