preson
unknown
plain_text
3 years ago
5.0 kB
9
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...