第四周课程总结实验报告(二)
Java實驗報告(二)
實驗二 Java簡單類與對象
一、 實驗目的
(1) 掌握類的定義,熟悉屬性、構造函數、方法的作用,掌握用類作為類型聲明變量和方法返回值;
(2) 理解類和對象的區別,掌握構造函數的使用,熟悉通過對象名引用實例的方法和屬性;
(3) 理解static修飾付對類、類成員變量及類方法的影響。
二、 實驗內容
(1) 使用構造函數完成各屬性的初始賦值
(2) 使用get…()和set…()的形式完成屬性的訪問及修改
(3) 提供計算面積的getArea()方法和計算周長的getLength()方法
三、實驗過程(請自己調整格式)
1. 寫一個名為Rectangle的類表示矩形。其屬性包括寬width、高height和顏色color,width和height都是double型的,而color則是String類型的。要求該類具有:
(1) 使用構造函數完成各屬性的初始賦值
(2) 使用get…()和set…()的形式完成屬性的訪問及修改
(3) 提供計算面積的getArea()方法和計算周長的getLength()方法
實驗源碼:
package work;class Rectangle1 {private double width, height;private String color; //聲明變量屬性public Rectangle1(double width, double height, String color) { //定義構造方法為屬性初始化并賦值this.setWidth(width);this.setHeight(height);this.setColor(color);} public void result() { //取得信息的方法System.out.println("面積:"+getArea()+",周長:"+getLength()+",顏色:"+getColor());}public double getWidth(){ //取得寬度return width;}public void setWidth(double width) { //設置寬度this.width = width;}public double getHeight() { //取得高度return height;}public void setHeight(double height) { //設置高度this.height = height;}public String getColor() { //取得顏色return color;}public void setColor(String color) { //設置顏色this.color = color;}public double getArea() { //計算面積return this.width*this.height;}public double getLength() { //計算周長return (this.width+this.height)*2;} }public class Rectangle{ public static void main(String args[]) {Rectangle1 sum = new Rectangle1(15.00,16.00,"black"); //調用構造方法,傳遞參數 sum.result(); //傳出信息}}實驗中遇到的問題:
1.在新建類時直接設置了public static void main(String args[]) ,并在其中使用了this,出現了錯誤,依靠提示將其修改。
2這是我在本題中花費時間最長的問題,進行了各種修改才發現是我在輸出時沒有將color輸出。
3.在不斷修改第二題的過程中我突然發現了兩種返回getArea()方法和getLength()方法結果的辦法
實驗結果:
2. 銀行的賬戶記錄Account有賬戶的唯一性標識(11個長度的字符和數字的組合),用戶的姓名,開戶日期,賬戶密碼(六位的數字,可以用0開頭),當前的余額。銀行規定新開一個賬戶時,銀行方面提供一個標識符、賬戶初始密碼123456,客戶提供姓名,開戶時客戶可以直接存入一筆初始賬戶金額,不提供時初始余額為0。定義該類,并要求該類提供如下方法:存款、取款、變更密碼、可以分別查詢賬戶的標識、姓名、開戶日期、當前余額等信息。
package work;import java.util.Scanner; class Bank {private String tag, name, time;private int password;private double balance;public Bank(String tag, String name, String time, int password, double balance) {this.setTag(tag);this.setName(name);this.setTime(time);this.setPassword(password);this.setBalance(balance);}public String getTag() {return tag;}public void setTag(String tag) {this.tag = tag;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}public int getPassword() {return password;}public void setPassword(int password) {this.password = password;}public double getBalance() {return balance;}public void setBalance(double balance) {this.balance = balance;}Scanner s = new Scanner(System.in);public void SaveOrTake() {int num = s.nextInt();if(num<=0&&balance<=0)System.out.println("余額不足");elsebalance += num;}public void ChangePW() {int p = s.nextInt();if(p != 123456)System.out.println("密碼錯誤");elseSystem.out.println("請輸入新密碼");int n = s.nextInt();password = n; }} public class Account{public static void main(String[] args) {Bank str;str=new Bank("123456789eq","LI","20190922",123456,666.01);Scanner sc = new Scanner(System.in);int a = sc.nextInt();switch(a){case 1:str.SaveOrTake();break;case 2:str.ChangePW();break;case 3:System.out.println("123456789eq");break;case 4:System.out.println("20190922");break;}} }實驗中遇到的問題:
1.第一個遇到的問題就是不知道怎么隨機給賬戶生成一個唯一標識??戳藢W委的博客發現他是用了base64編碼,百度了一下base64編碼,了解了這是個什么東西,但是我目前還是不會使用。
2.開戶日期應該連接網絡同步上傳,這里我也還不太懂該怎么弄,但是在搜索的過程中發現了別人的代碼,這部分還有待實驗。
四、 總結
1.第一題很簡單,但是在做之前發現不記得上課講了什么,再翻書復習的構造函數
2.第二題還有很多遺留問題,希望能在之后的學習過程中得到解答
第四周課程總結
1.實例化String對象:
①直接賦值:String name = "li";
②通過new方法:String name =new String ("li");
2.String類中幾種內容比較方式
①“==”
②重點:使用equals()
String str = "hello";String str1="world"; if(str.equals(str1)) { System.out.println("相等"); } else{System.out.println("不相等"); }運行結果:不相等2.String類的常用方法
17.18可用來查找指定字符串
19用來比較字符串內容
轉載于:https://www.cnblogs.com/LILI6/p/11559832.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的第四周课程总结实验报告(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux关于禁用硬件xinput使用
- 下一篇: 初中物理教学设计意图主要有哪些