Java程序設(shè)計課程作業(yè)_第1頁
Java程序設(shè)計課程作業(yè)_第2頁
Java程序設(shè)計課程作業(yè)_第3頁
Java程序設(shè)計課程作業(yè)_第4頁
Java程序設(shè)計課程作業(yè)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計課程作業(yè)

第一章緒論

1、安裝JavaSDK到你的電腦中。

2、選擇安裝一種Java開發(fā)工具到你的電腦中。Jcreater、NetBeans、Eclipse

3、編譯并運行一個"HelloWorld”Java程序。

程序代碼:

//

publicclassApp2_l

(

publicstaticvoidmain(String[]args)

(

System,out.printin(''helloWord");

)

)

F:\大三學(xué)習(xí)App2_l.jaua

F:\大三學(xué)習(xí)App2_l

helloWord

F:'大三學(xué)習(xí)

4、編譯并運行一個JavaApplet程序。

答:編譯成功,不過瀏覽器不顯示自己的Applet程序,還在學(xué)習(xí)中,錯誤的原

因是自己電腦上java的安全設(shè)置的原因,修改后運行成功。

第二章Java語法基礎(chǔ)

1、下列表達式是否有錯?若有錯,請說明何處出現(xiàn)何種錯誤;若無錯,請給出

其值。

(1)3+4?2'-8

沒有錯誤,運行結(jié)果為-28

(2)36?2*4&48?8/4+2

運行結(jié)果為0

(3)"abc"+123||8?2

有錯誤,II這個運算規(guī)律是兩邊均為boolean型

(4)2*4&&0<2||4%2

有錯誤,II這個運算規(guī)律是兩邊均為boolean型

2、任意準(zhǔn)備一份學(xué)生成績表,其中包括至少3門課程、每門課程至少10名同學(xué)

的成績。請編寫程序完成以下功能:(1)統(tǒng)計并輸出各門課程的平均成績。(2)

輸出等級表:優(yōu)、良、中、及格及不及格。

importjava.util.*;

classstudent{

Stringnum;

doublemath;

doubleenglish;

doublechinese;

}

publicclassTest{

publicstaticvoidmain(String[]agrs){

studentstu[]=newstudent[11];

for(inti=0;i<10;i++)

stu[i]=newstudent();

Scannerreader=newScanner(System,in);

System.out.printin("請依次輸入十個同學(xué)的數(shù)學(xué),英語。語文的成績:");

for(inti=0;i<=10;i++){

System.out.printin("第"+(i+l)+”同學(xué)的數(shù)學(xué),英語。語文的成績:”);

stu[i].math=reader.nextlnt();

stu[i].english=reader.nextlnt();

stu[i].chinese=reader.nextlnt();

}

doublesum=0;

for(inti=0;i<10;i++)

sum=sum+stu[i].math;

floatA=(float)sum/10;

System,out.printin("數(shù)學(xué)平均成績:"+A);

//intsum;

for(inti=0;i<10;i++)

sum=sum+stu[i].math;

floatB=(float)sum/10;

System,out.printin(〃數(shù)學(xué)平均成績:"+B);

//intsum;

for(inti=0;i<10;i++)

sum=sum+stu[i].math;

floatC=(float)sum/10;

System,out.printin("數(shù)學(xué)平均成績:"+C);

System.out.printin("數(shù)學(xué)不及格的成績:“);

for(inti=0;i<10;i++)

if(stu[i].math<60)

System,out.printin(stu[i].math);

System.out.printin("及格:〃);

for(inti=0;i<10;i++)

if(stu[i].math>60)

System.out.printin(stu[i].math);

System.out.printin("優(yōu):”);

for(inti=0;i<10;i++)

if(stu[i].math>80)

System,out.printin(stu[i].math);

System.out.printin("良:”);

for(inti=0;i<10;i++)

if(stu[i].math>90)

System.out.printin(stu[i].math);

System.out.printin("英語不及格的成績:“);

for(inti=0;i<10;i++)

if(stu[i].english<60)

System,out.println(stu[i].english);

System.out.printin(“及格:”);

for(inti=0;i<10;i++)

if(stu[i].english>60)

System,out.printin(stu[i].english);

System,out.printin(“優(yōu):”);

for(inti=0;i<10;i++)

if(stu[i].english>80)

System,out.printin(stu[i].english);

System.out.printin("良:”);

for(inti=0;i<10;i++)

if(stu[i].english>90)

System.out.printin(stu[i].english);

System.out.printin("語文不及格的成績:“);

for(inti=0;i<10;i++)

if(stu[i].chinese<60)

System,out.printin(stu[i].Chinese);

System,out.printin(“及格:”);

for(inti=0;i<10;i++)

if(stu[i].chinese>60)

System,out.println(stu[i].Chinese);

System.out.printin(〃優(yōu):“);

for(inti=0;i<10;i++)

if(stu[i].chinese>80)

System,out.printin(stu[i].Chinese);

System,out.printin("良:");

for(inti=0;i<10;i++)

if(stu[i].chinese>90)

System,out.println(stu[i].Chinese);

}

}

3、編寫程序,用數(shù)組存儲并輸出乘法九九表。

〃編寫程序,用數(shù)組存儲并輸出乘法九九表

publicclassTest{

publicstaticvoidmain(String[]agrs){

int[][]a=newint[9][9];

for(inti=l;i<=9;i++)

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

a[i-l]

System.out.print(j+〃*〃+i+〃=〃+i*j+〃〃);

if(i==j)

System,out.print("\n");}

intn;

for(intm=0;m<9;m++){

for(n=0;n<=m;n++){

System,out.print(,z,/+a[m][n]);

if(m==n)

System,out.print("\n");}

}

}

}

運算結(jié)果:

<terminated>Test[JavaApplication]C:\ProgramFiIes\Java\jre7\bin\javaw.exe(2013年11

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

4、有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個

月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?

5、打印出所有的〃水仙花數(shù)〃,所謂〃水仙花數(shù)〃是指一個三位數(shù),其各位數(shù)字立

方和等于該數(shù)本身。例如:153是一個〃水仙花數(shù)〃,因為153=1的三次方+5的

三次方+3的三次方。

第三章Java面向?qū)ο?/p>

1、為某研究所編寫一個通用程序,用來計算每一種交通工具運行1000公里所需

的時間,已知每種交通工具的參數(shù)都是3個整數(shù)A、B、C的表達式?,F(xiàn)有兩種工

具:Car007和Plane,其中Car007的速度運算公式為:A*B/C,Plane的速度

運算公式為:A+B+Co需要編寫三類:ComputeTime.java,Plane,java,

Car007.java和接口Common.java,要求在未來如果增加第3種交通工具的時候,

不必修改以前的任何程序,只需要編寫新的交通工具的程序。其運行過程如下,

從命令行輸入ComputeTime的四個參數(shù),第一個是交通工具的類型,第二、三、

四個參數(shù)分別時整數(shù)A、B、C,舉例如下:

計算Plane的時間:“javaComputeTimePlane203040"

計算Car007的時間:"javaComputeTimeCar007233445”

如果第3種交通工具為Ship,則只需要編寫Ship,java,運行時輸入:”java

ComputeTimeShip223344"

提示:充分利用接口的概念,接口對象充當(dāng)參數(shù)。

實例化一個對象的另外一種辦法:Class.forName(str).newInstanceO;例如需

要實例化一個Plane對象的話,則只要調(diào)用

Class.forName("Plane").newlnstance()便可。

interfaceCommon{

abstractdoublegetv(inta,intb,intc);

)

classCar007implementsCommon{

publicdoublegetv(inta,intb,intc){

if(c==0){

System.out.printIn(“參數(shù)C為0");

return0;}

else

returna*b/c;

}

}

classPlaneimplementsCommon(

publicdoublegetv(inta,intb,intc){

returna+b+c;

}

}

publicclasszuo31{

publicstaticvoidmain(String[]agrs){

}

2編寫—"b學(xué)生類Student,要求:(1)學(xué)生類Student屬性有:id:

long型,代表學(xué)號name:String類對象,代表姓名age:int型,代表年齡

sex:boolean型,代表性別(其中:true表示男,false表示女)phone:

String類對象,代表聯(lián)系電話(2)學(xué)生類Student的方法有:Student(long

i,Stringn,inta,booleans,Stringp):有參構(gòu)造函數(shù),形參表中的

參數(shù)分別初始化學(xué)號、姓名、年齡、性別和聯(lián)系電話。intgetAgeO():獲

取年齡作為方法的返回值。booleangetSex()():獲取性別作為方法的返

回值。StringgetPhone():獲取聯(lián)系電話作為方法的返回值。public

StringtoString():以姓名:聯(lián)系電話的形式作為方法的返回值。

classStudent{

longid;〃代表學(xué)號

Stringname;〃代表姓名

intage;〃代表年齡

booleansex;〃代表性別(其中:true表示男,false表示女)

Stringphone;//,代表聯(lián)系電話

Student(longi,Stringn,inta,booleans,Stringp){

id=i;

age=a;

name=n;

sex=s;

phone=p;

}

intgetAge(){

returnage;

)

booleangetSex(){

returnsex;

}

StringgetPhone(){

returnphone;

)

publicStringtoString(){

returnname+phone;〃以姓名:聯(lián)系電話的形式作為方法的返回值。

}

}

publicclassTest{

publicstaticvoidmain(String[]agrs){

Strings,phone,np;

intage;

Studentr=newStudent(201108011,“郭文杰”,20,false,;

booleana=r.getSex();

if(a==true)

s=〃男〃;

else

S=女;

age=r.getAge();

phone=r.getPhone();

System,out.printin("該同學(xué)的姓名是“+r.name+”學(xué)號:"+r.id+"年齡:

"+age+〃性別:〃+s+〃電話:〃+phone);

np=r.toString();

System,out.printin(np);

}

}

3、利用接口編寫三角形、矩形的面積和周長的程序。

interfaceShape{〃接口

abstractdoublegetArea();

abstractdoublegetlength();

}

classRectangleimplementsShape{〃長方形的類

privatedoublea;

privatedoubleb;

publicRectangle(doublei,doublej){

a=i;

b=j;

}

publicdoublegetArea(){

returna*b;

}

publicdoublegetlength(){

return2*(a+b);

)

)

classtriangleimplementsShape{〃三角形的類

doublea,b,c;

doublep;

publictriangle(doublei,doublej,doublek){

a=i;

b=j;

c=k;

}

publicdoublegetArea(){

p=(double)(Math,round(a+b+c)/2.0);//將p保留小數(shù)位

returnjava.lang.Math,sqrt(p*(p-a)*(p-b)*(p-c));//三角形面積公式

publicdoublegetlength(){

returna+b+c;

}

}

publicclasszuoye3{

publicstaticvoidmain(String[]agrs){

doublesi,s2,cl,c2;

triangletri=newtriangle(3,4,5);〃三角形對象

Rectanglerec=newRectangle(4,5);〃矩形對象

sl=tri.getArea();

cl=tri.getlength();

s2=rec.getAreaO;

c2=rec.getlength();

System.out.printin("三角形的面試是:"+sl+"周長是:"+cl);

System.out.printin("矩形的面試是:"+s2+"周長是:"+c2);

}

}

4、編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截

取的字符串。但是要保證漢字不被截半個,如〃我ABC〃4,應(yīng)該截為〃我AB〃,輸

入〃我ABC漢DEF”,6,應(yīng)該輸出為〃我ABC〃而不是〃我ABC+漢的半個〃。

第四章Java異常處理

1、寫程序運行結(jié)果:

publicclassA{

staticintsome(){

try{

System,out.printin("try");

return1;

}

finally{

System,out.println("finally");

}

}

publicstaticvoidmain(Stringarg[]){

System,out.printin(some());

)

}

2、先從鍵盤輸入一個十六進制數(shù),再將其轉(zhuǎn)化為十進制數(shù),然后輸出。若輸入

的不是一個有效的十六進制數(shù),則拋出異常。

importjava.util.*;

publicclassdex{

publicstaticvoidmain(String1]agrs){

Scannerreader=newScanner(System,in);

Strings;

intn,m;

System,out.printin("請輸入十六進制數(shù):“);

try(

s=reader.next();

n=Integer.parselnt(s,16);

System,out.printin(n);

)

catch(InputMismatchExceptione){

e.printStackTrace();}

}

}

3、先編寫一個方法,它將格式為“yyyy/mm/dd”形式的日期字符串轉(zhuǎn)化為日期

對象。若日期字符串不符合以上規(guī)定,則拋出異常。再在main方法中對正常和

異常輸入的日期字符串分別進行驗證,并輸出轉(zhuǎn)換后的日期對象。

第五章Java常見類

1、設(shè)有一個由10個英文單詞構(gòu)成的字符串?dāng)?shù)組,要求:

(1)統(tǒng)計以字母“w”開頭的單詞數(shù);

(2)統(tǒng)計單詞中含“or”字符串的單詞數(shù);

(3)統(tǒng)計長度為3的單詞數(shù)。

代碼是:

importjava.util.*;

publicclassArray{

publicstaticvoidmain(String[]agrs){

String[]word=newString[10];

intcountl=0,count2=0,count3=0;

inti=0,j=0;

Scannerreader=newScanner(System,in);

System,out.printin(”請輸入十個單詞:”);

for(j=0;j<word.length;j++){

word[j]=reader.next();

}

do(

if(word[i].charAt(0)==,w')

countl++;

if(word[i].1ength()==3)

count3++;

if(word[i].contains(,/or,/))

count2++;

i++;

}while(i<word.length);

System,out.printin("在這是個單詞中首字母是"w"的單詞總共有:

"+countl+”個〃);

System,out.printin("在這是個單詞中含有"or"的單詞總共有:“+count2+”個

〃);

System.out.printin("在這是個單詞中長度為3的單詞總共有:"+count3+”個");

}

)

2、利用隨機函數(shù)產(chǎn)生20個10?90之間的不重復(fù)整數(shù),將這些數(shù)拼接在一個字

符串中,用逗號隔開(每產(chǎn)生一個新數(shù),要保證在該串中不存在)。然后將字符串

中的整數(shù)分離存放到一個數(shù)組中,將數(shù)組的內(nèi)容按由小到大的順序輸出。

importjava.util.Random;

publicclassrand{

publicstaticvoidmain(String[]agrs){

Randomrand=newRandom();

int[]num=newint[20];

inta;

for(inti=0;i〈num.length;){//隨機產(chǎn)生20個10~90之間的不重復(fù)整數(shù)

a=rand.nextlnt();

intb=a%90;

for(intj=i;j>=0;j—){

if(b==num[j])b=0;}

if(b>10){

num[i]=b;

i++;}

}

Strings="";

System.out.print(“產(chǎn)生的20個隨機數(shù)是\n");

for(inti=0;i<num.length;i++){

System.out.print(num[i]+,,”);

s=s+num[i];}

System.out.printin("\n鏈接成字符串后的結(jié)果時:\n"+s);

inttem;

for(inti=0;i<num.length;i++){//排序

tem=num[i];

for(intj=i+l;j<num.length;j++){

if(num[j]<tem){

tem=num[j];

num[j]=num[i];

num[i]=tem;}

}

}

System.out.print("排序后的結(jié)果時:\n");

for(inti=0;i<num.length;i++)

System.out.print(num[i]+〃");

}

}

3、先任意輸入不超過10個人的姓名和電話到電話簿,然后從電話簿中查詢指定

人的電話。

importjava,util.*;

classpeople{〃建立類包含姓名及電話

Stringname,number;

publicpeople(Stringn,Stringm){

name=n;

number=m;

)

}

publicclassphonenum{

publicstaticvoidmain(String[]agrs){

Scannerreader=newScanner(System,in);

people[]p=newpeople[10];〃數(shù)組對象

Stringa,b;

System.out.printin(〃請輸入十個人的姓名以及他們的電話:“);

for(inti=0;i<p.length;i++){〃輸入是個人的姓名及電話,并

保存

a=reader.next();

b=reader.next();

peoples=newpeople(a,b);

p[i]=s;

}

Strings=";

System,out.printin("請輸入要查找的人的姓名");

s=reader.next();

for(inti=0;i<p.length;i++){〃判斷某人是否在該電話簿

if(s.equals(p[i].name)){

System,out.printIn("該人的電話是號碼是:"+p[i].number);

break;}

else

{System.out.printIn("沒有此人的電話“);break;}

}

}

}

4、編寫一個日歷,按照格式y(tǒng)yyy-MM-dd輸入一個指定日期,可以顯示當(dāng)月的日

歷,該指定日期前面加*以示是你輸入的日期。

第六章Java輸入輸出

1、說明程序功能:

importjava.io.*;

publicclassCharWrite{

publicstaticvoidmain(Stringargs[]){

try{

fw=new("charset,txt");

for(inti=32;i<126;i++)

fw.write(i);

fw.close();

}catch(lOExceptione){}

)

}

2、先用隨機函數(shù)產(chǎn)生出任意的20個整數(shù),再按由小到大的順序排序,然后將結(jié)

果寫入一個文件中,最后從該文件中讀出后顯示出來。請分別用順序文件和隨機

文件的讀寫形式進行編程測試。

3、統(tǒng)計一個文本文件中單詞的個數(shù)。文本文件的名字從命令行中獲得。

第七章Java圖形用戶界面

1、閱讀下面的程序,回答問題。

importjava.awt.*;

importjavax.swing.*;

publicclassTextendsJFrame(

publicT(){

super("GridLayout");

Containercon=this.getContentPane();

con.setLayout(newGridLayout(2,3));

con.add(newJButton("a"));

con.add(newJButton("b"));

con.add(newJButton("c"));

con.add(newJButton("d"));

con.add(newJButton("e"));

con.add(newJButton("f"));

setSize(200,80);

setVisible(true);

}

publicstaticvoidmain(Stringargs[]){

newT();

1

畫圖表示程序運行后的圖形界面。

如果程序通過實現(xiàn)某個接口處理按鈕的動作事件,則該接口名為何?接口中的

方法頭聲明如何?

2、編寫一個簡單的計算器,要求圖形用戶界面如下圖所示。

3、請編寫一個簡單的用戶登錄程序。要求使用圖形用戶界面,用戶名和密碼假

定均為java,且密碼輸入時全部顯示為星號(*)。

4、編寫一個顯示六個標(biāo)簽的框架,將標(biāo)簽前景

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論