01/10/2018, 09:22
Làm sao để input và output một giá trị boolean?
Ở đây mình tạo một lớp Student.class có các biến và các phương thức input, print. Mình hỏi ở đây giá trị gender(boolean) khi nhập vào thì mình nhập như thế nào?
[public class Student {
private String id, name;
private boolean gender;
private int theory, practice;
public Student() {
this.input();
}
public Student(String id, String name, boolean gender, int theory, int practice) {
this.id = id;
this.name = name;
this.gender = gender;
this.theory = theory;
this.practice = practice;
}
//Ham nhap du lieu
private void input() {
Scanner sa = new Scanner(System.in);
System.out.println("Nhap ID: ");
id = sa.nextLine().trim();
System.out.println("Nhap name: ");
name = sa.nextLine().trim();
System.out.println("Nhap gender: ");
gender = sa.nextBoolean();
System.out.println("Nhap theory: ");
theory = sa.nextInt();
System.out.println("Nhap parctice: ");
practice = sa.nextInt();
}
public void print() {
System.out.println("
** Thong tin hoc sinh ***");
System.out.println("ID: " + id);
System.out.println("Name: " + name);
System.out.println("Gender: " + gender);
System.out.println("Theory: " + theory);
System.out.println("Practice: " + practice);
}
@Override
public String toString() {
return String.format("%s, %s, gender, %d, %d", id, name, gender ? "male" : "female", theory, practice);
}
}](http://)
Bài liên quan
Bạn nên tạo 1 enum cho gender, có 2 case là MALE và FEMALE, biến gender có kiểu enum đó.
Hàm nhập input cho gender nên mặc định là string, Tuỳ vào giá trị string mà gán enum case nào cho gender.
Ví dụ, terminal hiện dòng:
Gender (male/female): _
Người dùng nhập F rồi enter.
Code nhận giá trị F lưu vào genderString, lower case cho string, If else với điều kiện genderString.lowercase().startWiths(“lesbian”) thì gán this.gender = Gender.LESBIAN
Output tương tự.
Cám ơn bạn nhiều, mình hiểu ra vấn đề nó ở đâu rồi.