版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度山砂項(xiàng)目砂石資源采購合同6篇
- 2025年房產(chǎn)買賣居間服務(wù)合同規(guī)范樣本
- 動漫教育發(fā)展:2025年《動漫欣賞課》課件展示2篇
- 2025年度個人汽車交易合同范本2篇
- 2025年度納稅擔(dān)保期限與稅務(wù)合規(guī)合同
- 2025年度個人與公司間的借款逾期罰息合同3篇
- 二零二五年度生態(tài)餐飲原物料綠色配送服務(wù)合同3篇
- 2025年度個人房屋租賃合同范本(含租金支付方式)2篇
- 2025年度新型電梯銷售及居間服務(wù)合同協(xié)議書范本3篇
- 2025年度門面租賃合同租賃雙方權(quán)利義務(wù)協(xié)議4篇
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設(shè)計規(guī)范-PDF解密
- 冷庫制冷負(fù)荷計算表
- 肩袖損傷護(hù)理查房
- 設(shè)備運(yùn)維管理安全規(guī)范標(biāo)準(zhǔn)
- 辦文辦會辦事實(shí)務(wù)課件
- 大學(xué)宿舍人際關(guān)系
- 2023光明小升初(語文)試卷
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 申請使用物業(yè)專項(xiàng)維修資金征求業(yè)主意見表
- 房屋買賣合同簡單范本 房屋買賣合同簡易范本
- 無抽搐電休克治療規(guī)范
評論
0/150
提交評論