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類型時就不會有誤差。