Em đang tập tành thử với java đụng tới dòng while thì thấy chạy khá khó hiểu.
Ảnh console :
Khi nhập đúng chữ "Giao vien" vẫn không thoát được vòng while.
Không biết là có phải do String không, nhưng em để lệnh so sánh thử System.out.println(job.equals("Giao vien")) thì nó vẫn ra true khi nhập "Giao vien" :nose:
Một số thắc mắc phụ:
- Trong java nếu mình không để lệnh in ra trước Scanner (System.out.print("")) một biến nào đó thì khi run nó cũng không thấy chạy?:beatbrick:
- Có lệnh xóa buffer như flush(stdin) cho java hay không? Ở trên em dùng đở biến temp :happy:
Ai giúp em với :surrender:
Code:
public static void main(String[] args) throws IOException {Scanner in = new Scanner(System.in); int count; String job; String temp; System.out.print("Nhập số lượng cần nhập thông tin: "); count = in.nextInt(); [B][SIZE=3]temp = in.nextLine();[/SIZE][/B] for(int i = 0; i < count; i++) { System.out.println("Ban la giao vien hay hoc sinh: go 'Giao vien' hoac 'Hoc sinh'"); job = in.nextLine(); [B][SIZE=3]while(job != "Giao vien" || job != "Hoc sinh") { System.out.println("Sai nhập lại 'Giao vien' hoặc 'Học sinh'"); job = in.nextLine(); }[/SIZE][/B]
Khi nhập đúng chữ "Giao vien" vẫn không thoát được vòng while.
Không biết là có phải do String không, nhưng em để lệnh so sánh thử System.out.println(job.equals("Giao vien")) thì nó vẫn ra true khi nhập "Giao vien" :nose:
Một số thắc mắc phụ:
- Trong java nếu mình không để lệnh in ra trước Scanner (System.out.print("")) một biến nào đó thì khi run nó cũng không thấy chạy?:beatbrick:
- Có lệnh xóa buffer như flush(stdin) cho java hay không? Ở trên em dùng đở biến temp :happy:
Ai giúp em với :surrender:
Comment