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://)

Hung viết 11:25 ngày 01/10/2018

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ự.

Võ Phú Hữu viết 11:32 ngày 01/10/2018

Cám ơn bạn nhiều, mình hiểu ra vấn đề nó ở đâu rồi.

Bài liên quan
0