Java第二次做業

person包代碼:java

 1 package com.wsy.person;  2 
 3 public class Person {  4     private String name ;  5     private char sex;  6     private int age;  7     private String IDCardNumber;  8     
 9     public Person(String name, char sex, int age, String IDCardNumber) { 10         
11         this.name = name; 12         this.sex = sex; 13         this.age = age; 14         this.IDCardNumber = IDCardNumber; 15  } 16     public void print() 17  { 18         System.out.println("姓名:"+name); 19         System.out.println("性別:"+sex); 20         System.out.println("年齡:"+age); 21         System.out.println("身份證號碼:"+IDCardNumber); 22  } 23     public String getName() { 24         return name; 25  } 26     public void setName(String name) { 27         this.name = name; 28  } 29     public char getSex() { 30         return sex; 31  } 32     public void setSex(char sex) { 33         this.sex = sex; 34  } 35     public int getAge() { 36         return age; 37  } 38     public void setAge(int age) { 39         this.age = age; 40  } 41     public String getIDCardNumber() { 42         return IDCardNumber; 43  } 44     public void setIDCardNumber(String iDCardNumber) { 45         IDCardNumber = iDCardNumber; 46  } 47     
48 }
package com.wsy.person; public class TestPerson { public static void main(String[] args) { Person p1 = new Person("張三",'男',18,"430101010101010101"); Person p2 = new Person("李四",'女',18,"123456789009876543"); p1.print(); p2.print(); } }

TestPerson類運行結果:this

phone包代碼:spa

 1 package com.wsy.phone;  2 
 3 public class Phone {  4     private String brand;  5     private String model;  6     
 7     public Phone(String brand, String model) {  8         this.brand = brand;  9         this.model = model; 10  } 11     public void print() 12  { 13         System.out.println("手機品牌:"+brand); 14         System.out.println("手機型號:"+model); 15  } 16     public String getBrand() { 17         return brand; 18  } 19     public void setBrand(String brand) { 20         this.brand = brand; 21  } 22     public String getModel() { 23         return model; 24  } 25     public void setModel(String model) { 26         this.model = model; 27  } 28     
29 }
 1 package com.wsy.phone;  2 
 3 public class TestPhone {  4 
 5     public static void main(String[] args) {  6         Phone p1 = new Phone("華爲","榮耀3c");  7         Phone p2 = new Phone("聯想","A3600D");  8         Phone p3 = new Phone("小米","note");  9  p1.print(); 10         System.out.println("========================================================="); 11  p2.print(); 12         System.out.println("========================================================="); 13  p3.print(); 14  } 15 
16 }

TestPhone類運行結果:code

book包代碼:對象

 1 package com.wsy.book;  2 
 3 import java.util.Scanner;  4 
 5 public class BookInput {  6     Scanner in = new Scanner(System.in);  7     private String name;  8     private int bookNumber;  9     private String editorInChief; 10     private String press; 11     private String publishTime; 12     private int pageNumber; 13     private double price; 14     public void scanner() 15  { 16         name = in.nextLine(); 17         bookNumber = Integer.valueOf(in.nextLine()); 18         editorInChief = in.nextLine(); 19         press = in.nextLine(); 20         publishTime = in.nextLine(); 21         pageNumber = Integer.valueOf(in.nextLine()); 22         price = Double.valueOf(in.nextLine()); 23  } 24     public String getName() { 25         return name; 26  } 27     public void setName(String name) { 28         this.name = name; 29  } 30     public int getBookNumber() { 31         return bookNumber; 32  } 33     public void setBookNumber(int bookNumber) { 34         this.bookNumber = bookNumber; 35  } 36     public String getEditorInChief() { 37         return editorInChief; 38  } 39     public void setEditorInChief(String editorInChief) { 40         this.editorInChief = editorInChief; 41  } 42     public String getPress() { 43         return press; 44  } 45     public void setPress(String press) { 46         this.press = press; 47  } 48     public String getPublishTime() { 49         return publishTime; 50  } 51     public void setPublishTime(String publishTime) { 52         this.publishTime = publishTime; 53  } 54     public int getPageNumber() { 55         return pageNumber; 56  } 57     public void setPageNumber(int pageNumber) { 58         this.pageNumber = pageNumber; 59  } 60     public double getPrice() { 61         return price; 62  } 63     public void setPrice(double price) { 64         this.price = price; 65  } 66     
67 
68 }
 1 package com.wsy.book;  2 
 3 public class Book {  4     private String name;  5     private int bookNumber;  6     private String editorInChief;  7     private String press;  8     private String publishTime;  9     private int pageNumber; 10     private double price; 11     
12     public Book(String name, int bookNumber, String editorInChief, String press, String publishTime, int pageNumber, 13             double price) { 14         this.name = name; 15         this.bookNumber = bookNumber; 16         this.editorInChief = editorInChief; 17         this.press = press; 18         this.publishTime = publishTime; 19         this.pageNumber = pageNumber; 20         this.price = price; 21  } 22     public void print() 23  { 24         System.out.println("書名:"+name); 25         System.out.println("書號:"+bookNumber); 26         System.out.println("主編:"+editorInChief); 27         System.out.println("出版社:"+press); 28         System.out.println("出版時間:"+publishTime); 29         System.out.println("頁數:"+pageNumber); 30         System.out.println("價格:"+price); 31  } 32     public String getName() { 33         return name; 34  } 35     public void setName(String name) { 36         this.name = name; 37  } 38     public int getBookNumber() { 39         return bookNumber; 40  } 41     public void setBookNumber(int bookNumber) { 42         this.bookNumber = bookNumber; 43  } 44     public String getEditorInChief() { 45         return editorInChief; 46  } 47     public void setEditorInChief(String editorInChief) { 48         this.editorInChief = editorInChief; 49  } 50     public String getPress() { 51         return press; 52  } 53     public void setPress(String press) { 54         this.press = press; 55  } 56     public String getPublishTime() { 57         return publishTime; 58  } 59     public void setPublishTime(String publishTime) { 60         this.publishTime = publishTime; 61  } 62     public int getPageNumber() { 63         return pageNumber; 64  } 65     public void setPageNumber(int pageNumber) { 66         this.pageNumber = pageNumber; 67  } 68     public double getPrice() { 69         return price; 70  } 71     public void setPrice(int price) { 72         this.price = price; 73  } 74     
75 }
 1 package com.wsy.book;  2 
 3 import java.util.Scanner;  4 
 5 public class TestBook {  6 
 7     public static void main(String[] args) {  8         Scanner in = new Scanner(System.in);  9         BookInput input = new BookInput(); 10         System.out.println("請依次輸入書名、書號、主編、出版社、出版時間、頁數、價格"); 11         //如下代碼出現代碼重複,因此我創建了一個類把如下代碼放入了類中,在類中寫入了一個方法用來輸入 12         //因此只須要創建一個BookInput對象就可以解決代碼重複的問題了 13 // String name; 14 // int bookNumber = Integer.valueOf(in.nextLine()); 15 // String editorInChief = in.nextLine(); 16 // String press = in.nextLine(); 17 // String publishTime = in.nextLine(); 18 // int pageNumber = Integer.valueOf(in.nextLine()); 19 // double price = Double.valueOf(in.nextLine());
20  input.scanner(); 21         Book b1 = new Book(input.getName() , input.getBookNumber() , input.getEditorInChief() , 22  input.getPress() , input.getPublishTime() , input.getPageNumber() , input.getPrice()); 23  b1.print(); 24         System.out.println("================================================================"); 25         System.out.println("請依次輸入書名、書號、主編、出版社、出版時間、頁數、價格"); 26  input.scanner(); 27         Book b2 = new Book(input.getName() , input.getBookNumber() , input.getEditorInChief() , 28  input.getPress() , input.getPublishTime() , input.getPageNumber() , input.getPrice()); 29  b2.print(); 30  in.close(); 31  } 32 
33 }

TestBook類運行結果:blog

cylinder包代碼:ip

 1 package com.wsy.cylinder;  2 
 3 import java.math.BigDecimal;  4 import java.util.Scanner;  5 
 6 public class CylinderInput {  7     Scanner in = new Scanner(System.in);  8     private BigDecimal ridius;  9     private BigDecimal height; 10     public void scanner() 11  { 12         ridius = new BigDecimal(in.nextLine()); 13         height = new BigDecimal(in.nextLine()); 14  } 15     public void showPrompt() 16  { 17         System.out.println("請輸入圓柱體的半徑和高:"); 18  } 19     public BigDecimal getRidius() { 20         return ridius; 21  } 22     public void setRidius(BigDecimal ridius) { 23         this.ridius = ridius; 24  } 25     public BigDecimal getHeight() { 26         return height; 27  } 28     public void setHeight(BigDecimal height) { 29         this.height = height; 30  } 31     
32 }
 1 package com.wsy.cylinder;  2 
 3 import java.math.BigDecimal;  4 
 5 public class CylinderCalculation {  6     public static BigDecimal getBottomArea(BigDecimal p ,BigDecimal ridius)  7  {  8         return p.multiply(ridius).multiply(ridius);  9  } 10     public static BigDecimal getVolume(BigDecimal p , BigDecimal ridius , BigDecimal height) 11  { 12         return p.multiply(ridius).multiply(ridius).multiply(height); 13  } 14 }
 1 package com.wsy.cylinder;  2 
 3 import java.math.BigDecimal;  4 
 5 public class Cylinder {  6     private final BigDecimal p = new BigDecimal("3.14");  7     private BigDecimal ridius;  8     private BigDecimal height;  9     public Cylinder(BigDecimal ridius, BigDecimal height) { 10         this.ridius = ridius; 11         this.height = height; 12  } 13     public void print() 14  { 15         System.out.println("圓底半徑:"+ridius); 16         System.out.println("高:"+height); 17         System.out.println("底面積:"+CylinderCalculation.getBottomArea(p , ridius)); 18         System.out.println("體積:"+CylinderCalculation.getVolume(p, ridius, height)); 19  } 20     public BigDecimal getRidius() { 21         return ridius; 22  } 23     public void setRidius(BigDecimal ridius) { 24         this.ridius = ridius; 25  } 26     public BigDecimal getHeight() { 27         return height; 28  } 29     public void setHeight(BigDecimal height) { 30         this.height = height; 31  } 32     
33 }
 1 package com.wsy.cylinder;  2 
 3 public class TestCylinder {  4 
 5     public static void main(String[] args) {  6         CylinderInput input = new CylinderInput();  7  input.showPrompt();  8  input.scanner();  9         Cylinder c1 = new Cylinder(input.getRidius() , input.getHeight()); 10  c1.print(); 11         System.out.println("======================================================="); 12  input.showPrompt(); 13  input.scanner(); 14         Cylinder c2 = new Cylinder(input.getRidius() , input.getHeight()); 15  c2.print(); 16  } 17 
18 }

TestCylinder類運行結果:ci

在本次做業中遇到了兩個問題:get

1.在TestBook類進行輸入的時候出現大量的代碼重複,在學長的提醒下,創建了一個新對象解決了問題,把全部的輸入都放入那個類裏,而後創建一個新的那個對象,而後調用對象的方法去給對象的成員變量賦值,而後使用get方法獲得該對象的成員變量去傳遞值給book對象。input

2.在TestCylinder類中,輸入整數時沒有問題,可是在輸入浮點數時會有誤差,通過百度搜索該問題的時候,得知能夠使用大浮點數(BigDecimal)new BigDecimal的時候使用String類型時就不會有誤差。

相關文章
相關標籤/搜索