preson
unknown
plain_text
2 years ago
5.0 kB
6
Indexable
package s00017; import java.util.Scanner; /** * Lab07 SE1606 * * @author Ngo Hai Bang CE160624 */ public class Person { private String name; //tên private float salary; //luong private String address; //dia chi Scanner sc = new Scanner(System.in); /** * constructor không có tham số * */ public Person() { } /** * constructor có tham số * * @param name * @param salary * @param address */ public Person(String name, float salary, String address) { this.name = name; this.salary = salary; this.address = address; } /** * Lây tên * * @return */ public String getName() { return name; } /** * Đặt tên * * @param name */ public void setName(String name) { this.name = name; } /** * Lây lương * * @return */ public float getSalary() { return salary; } /** * Đặt gía trị cho lương * * @param salary */ public void setSalary(float salary) { this.salary = salary; } /** * Lấy địa chỉ * * @return */ public String getAddress() { return address; } /** * Đặt giá trị cho địa chỉ * * @param address */ public void setAddress(String address) { this.address = address; } /** * Nhập tên, sẽ lỗi và nhập lại khi không nhập gì và nhập số cho tên * * @param scanner * @param message * @return */ public String getInputName(Scanner scanner, String message) { String name; boolean valid; do { //vòng lặp sẽ lạp lại nếu nhập sai dữ liệu valid = true; System.out.print(message); name = scanner.nextLine().trim(); if (name.equals("")) { // kiểm tra xem người dùng có nhập gì không System.out.println("Error: Your input can not be empty!"); valid = false; } else if (name.matches("[0-9]+")) { //kiểm tra xem trong tên có số hay không System.out.println("Error: Your input can not be number!"); valid = false; } } while (valid == false); return name; } /** * Nhập chuỗi kí tự, sẽ hiển thị lỗi khi không nhập gì * * @param scanner * @param message * @return */ public String getInputString(Scanner scanner, String message) { String string; do { //vòng lặp sẽ lạp lại nếu nhập sai dữ liệu System.out.print(message); string = scanner.nextLine().trim(); if (string.equals("")) { // kiểm tra xem người dùng có nhập gì không System.out.println("Error: Your input can not be empty!"); } } while (string.equals("")); return string; } /** * Nhập lương, sẽ hiển thì lỗi và nhập lại khi nhập số nhỏ hơn không, nhập * chữ và không nhập gì * * @param scanner * @param message * @return */ public float getInputSalary(Scanner scanner, String message) { Float input = null; while (input == null) { try { input = Float.parseFloat(getInputString(scanner, message)); if (input < 0) { //lương phải lớn hơn 0 System.out.println("Error: The salary must be greater than 0 !"); input = null; } } catch (NumberFormatException e) { //lương không được là chữ System.out.println("Error: The salary must be a number !"); } } return input; } /** * Nhập dữ liệu cho đối tượng bao gồm tên, địa chỉ và lương * */ public void inputPersonInfo() { System.out.println("Input Information of Person"); this.name = getInputName(sc, "Please input name: "); this.address = getInputString(sc, "Please input address: "); this.salary = getInputSalary(sc, "Please input salary: "); } /** * Hiển thị thông tin ra màn hình bao gồm tên, địa chỉ và lương * */ public void outputPersonInfo() { System.out.println("Information of Person you have entered:"); System.out.println("Name: " + this.getName()); System.out.println("Address: " + this.getAddress()); System.out.println("Salary: " + this.getSalary()); System.out.println(""); } }
Editor is loading...