Java做業2

實驗項目名稱:java

類與對象的定義與使用測試

實驗目的及要求:spa

[1]. 類的定義、對象的建立code

[2]. 類中構造方法、get/set方法、toString方法的定義對象

[3]. 實例成員與靜態成員的特色、定義與引用方法blog

[4]. 類及其成員的訪問控制符的做用權限ci

實驗原理:get

在Java語言運行環境下,按要求完成程序的編輯、編譯、鏈接和運行,直至取得正確的運行結果。it

實驗內容(方法和步驟):編譯

【1】    編寫一個Java應用程序,該程序中有3個類:Lader、Circle和主類A。

具體要求以下:

[1].  Lader類具備類型爲double的上底、下底、高、面積屬性,具備返回面積的功能,包括一個構造方法對上底、下底、高進行初始化。

[2].  Circle類具備類型爲double的半徑、周長和麪積屬性,具備返回周長、面積的功能,包括一個構造方法對半徑進行初始化。

[3].  主類A用來測試類Lader和類Circle的功能。

碼:

1 class Lader{ 2 3 double s,x,h,area; 4 5 double getarea(Lader l) { 6 7 area=((s+x)*h)/2; 8 9 return area; 10 11  } 12 13 Lader(double sd,double xd,double gao){ 14 15 s=sd; 16 17 x=xd; 18 19 h=gao; 20 21  } 22 23 } 24 25 class Circle { 26 27 double r,c,a; 28 29 Circle(double cr){ 30 31 r=cr; 32 33  } 34 35 double pi=3.1415926; 36 37 double cArea(Circle x) { 38 39 a= pi*r*r; 40 41 return a; 42 43  } 44 45 double cRound(Circle x) { 46 47 double d= 2*r*pi; 48 49 return d; 50 51  } 52 53 } 54 55 package Aa; 56 57 import java.util.Scanner; 58 59 public class A { 60 61 public static void main(String args[]) { 62 63 Lader l1 =new Lader(1,2,3); //初始化一個實例 64 65 Scanner sc=new Scanner(System.in); //手動輸入梯形的值 66 67 System.out.print("梯形的上底:"); 68 69 l1.s=sc.nextDouble(); 70 71 System.out.print("梯形的下底:"); 72 73 l1.x=sc.nextDouble(); 74 75 System.out.print("梯形的高:"); 76 77 l1.h=sc.nextInt(); 78 79 System.out.println("題型的面積爲"+l1.getarea(l1)+"。");//輸出梯形面積 80 81 82 Circle c1=new Circle(0);//Initialize the class Circle 83 84 System.out.print("園的半徑:"); 85 86 c1.r=sc.nextDouble(); 87 88 System.out.print("圓的面積:"+c1.cArea(c1)+"。"); 89 90 System.out.print("圓的周長:"+c1.cRound(c1)+"。"); 91 92  } 93 94 }

 

【2】    編寫西遊記人物類(XiYouJiRenWu):

屬性:身高(height),名字(name),武器(weapon)

方法:顯示名字(printName),顯示武器(printWeapon)

在主類的main方法中建立二個對象:zhuBaJie,sunWuKong:

分別爲他們的兩個屬性(name,weapon)賦值,最後分別調用printName,,printWeapon方法顯示兩個對象的屬性值。

碼:

 

1 package 實驗報告2; 2 3 class XiYouJiRenWu { 4 public double height; 5 public String name; 6 public String weapon; 7 8 public XiYouJiRenWu(double cheight,String cname,String cweapon) { 9 height = cheight; 10 name = cname; 11 weapon = cweapon; 12  } 13 14 void printName() { 15 System.out.println("角色名字爲:"+name); 16  } 17 void printWeapon() { 18 System.out.println("角色使用武器(老婆)爲:"+weapon); 19  } 20 void printHeight() { 21 System.out.println("角色體長爲:"+height); 22  } 23 void print() { 24  printName(); 25  printWeapon(); 26  printHeight(); 27  } 28 } 29 public class diaoyong { 30 public static void main(String args[]) { 31 XiYouJiRenWu zhuBaJie=new XiYouJiRenWu(150,"豬八戒","九齒釘耙"); 32  zhuBaJie.print(); 33 XiYouJiRenWu sunWuKong=new XiYouJiRenWu(197,"孫悟空","如意金箍棒"); 34  sunWuKong.print(); 35  } 36 }

 

【3】    編寫Java應用程序。首先定義一個描述銀行帳戶的Account類,

成員變量「帳號」和「存款餘額」,

成員方法有「存款」、「取款」和「餘額查詢」。

其次,編寫一個主類,在主類中測試Account類的功能。

碼:

 

1 package 練習3; 2 3 class Account { 4 int id,pswd; //clients' card id and its pswd 5 double balance;//clients' balance 6 double x; 7 Account(int cid,int cpswd,double cbalance){ 8 id = cid; 9 balance = cbalance; 10 }//構造方法 11 double deposit(Account a) { 12 balance +=x; 13 return balance; 14 }//存款 15 double withdraw(Account a) { 16 balance -=x; 17 return balance; 18 }//提現 19 } 20 21 import java.util.Scanner; 22 public class shixian { 23 public static void main(String[] args) { 24 Account jiaming = new Account(1,1,1);//第一步註冊帳號 25 Scanner sc=new Scanner(System.in); //用戶信息 26 System.out.print("請設定用戶名:"); 27 jiaming.id=sc.nextInt(); 28 System.out.print("請設置帳號密碼:"); 29 jiaming.pswd=sc.nextInt(); 30 System.out.print("請工做人員受權輸入餘額:"); 31 jiaming.balance= sc.nextDouble(); 32 //冗長的註冊結束了(撒花),接下來開始激動人心的測試環節! 33 System.out.print("請輸入帳戶和密碼,用空格隔開^\n"); 34 int u1=sc.nextInt(); 35 int u2=sc.nextInt(); 36 if(!(u1==jiaming.id&&u2==jiaming.pswd)) { 37 System.out.print("輸入有誤,系統退出"); 38  } 39 System.out.print("請鍵盤輸入想要完成的功能:\n1.存款\n2.提現\n0.退出\n"); 40 int m=sc.nextByte(); 41 42 while(m!=0) {//這個while循環是實現循環輸入,好比存款後,能夠選擇繼續存款仍是提現 43 44 if(m==1) { 45 System.out.println("請輸入存款金額:\n"); 46 jiaming.x=sc.nextDouble(); 47 System.out.println("您存款金額爲"+jiaming.x+",帳戶當前餘額爲"+jiaming.deposit(jiaming)); 48 System.out.println("請問您接下來想幹嗎:\n1.繼續存款\n2.提現\n0.退出\n"); 49 }//輸入存款金額後,調用Account類中的deposit方法,而後詢問用戶接下來操做 50 51 else if(m==2) {//提款模塊 52 System.out.println("請輸入提款金額:\n"); 53 jiaming.x=sc.nextDouble(); 54 55 while(jiaming.x>jiaming.balance) { 56 System.out.println("帳戶餘額不足,請從新輸入"); 57 jiaming.x=sc.nextDouble(); 58 }//若是帳戶餘額不足,則重複輸入; 59 System.out.println("您提現金額爲"+jiaming.x+",帳戶當前餘額爲"+jiaming.withdraw(jiaming)); 60 System.out.println("請問您接下來想幹嗎:\n1.存款\n2.繼續提現\n0.退出\n"); 61  } 62 if(m==0) { 63 System.out.println("感謝使用鴨,886"); 64 break; 65 }//若是用戶輸入0,就退出系統了呀(還整得像那麼回事) 66 else { 67 System.out.println("輸入無效,請輸入:\n1.存款\n2.繼續提現\n0.退出\n"); 68 }//輸入其餘的值不合法嗷┗|`O′|┛ !!! 69 m=sc.nextByte();//控制while循環 70 }//while終了 71 }//main的尾巴~ 72 }//class shixian

 

【4】    編寫Java應用程序。首先,定義一個時鐘類—Clock,

三個int型成員變量分別表示時、分、秒,

一個構造方法用於對三個成員變量(時、分、秒)進行初始化,

一個成員方法show()用於顯示時鐘對象的時間。

定義一個主類—TestClass,在主類的main方法中建立多個時鐘類的對象,使用這些對象調用方法show()來顯示時鐘的時間。

修改爲員方法的訪問控制符爲「public」,再運行一次。

 

碼:

 

【5】    編寫Java應用程序。首先,定義描述學生的類—Student,

包括:學號(int)、姓名(String)、年齡(int)等屬性;

二個方法:Student(int stuNo,String name,int age)用於對對象的初始化,outPut()用於輸出學生信息。

定義一個主類—TestClass,在主類的main方法中建立多個Student類的對象,使用這些對象來測試Student類的功能。

 

碼:

 

【6】    編寫Java應用程序。首先,定義一個Print類,

一個方法void output(int x),若是x的值是1,在控制檯打印出大寫的英文字母表;若是x的值是2,在控制檯打印出小寫的英文字母表。

定義一個主類—TestClass,在主類的main方法中建立Print類的對象,使用這個對象調用方法output ()來打印出大小寫英文字母表。

修改爲員方法的訪問控制符爲「private」,再運行一次。

碼:

 

【7】    按要求編寫Java應用程序。建立一個叫作People的類:

屬性:姓名、年齡、性別、身高,

行爲:說話、計算加法、更名

編寫能爲全部屬性賦值的構造方法;

建立主類:建立一個對象:名叫「張三」,性別「男」,年齡18歲,身高1.80;

讓該對象調用成員方法:說出「你好!」,計算23+45的值,將名字改成「李四」。

碼:

 

【8】按要求編寫Java應用程序。

(1)建立一個叫作機動車的類:

屬性:車牌號(String),車速(int),載重量(double)

功能:加速(車速自增)、減速(車速自減)、修改車牌號,查詢車的載重量。

編寫兩個構造方法:一個沒有形參,在方法中將車牌號設置「XX1234」,速度設置爲100,載重量設置爲100;另外一個能爲對象的全部屬性賦值;

 

(2)建立主類:

在主類中建立兩個機動車對象。

建立第一個時調用無參數的構造方法,調用成員方法使其車牌爲「9752」,並讓其加速。

建立第二個時調用有參數的構造方法,使其車牌爲「5086」,車速爲150,載重爲200,並讓其減速。

輸出兩輛車的全部信息

碼:

相關文章
相關標籤/搜索