Java - Viết chương trình cho phép người dùng chọn đáp án đúng.

Viết chương trình cho phép người dùng chọn 1 trong 4 đáp án a, b, c, d cho câu hỏi dưới đây. Nếu người dùng chọn đúng thì thông báo "Kết quả đúng!", nếu người dùng chon sai thì thông báo "Bạn chọn không đúng!", còn nếu người dùng nhập câu trả lời ngoài 4 đáp án a, b, c, d thì thông báo "Câu trả lời phải nằm trong 4 lựa chọn a, b, c hoặc d". Ngoài ra, người dùng có thể đoán được nhiều lần cho đến khi chọn được đáp án đúng hoặc có thể kết thúc chương trình nếu muốn.

Sau đây là câu hỏi:

Cách nào cho phép người dùng khai báo 1 giá trị số nguyên trong 4 đáp án sau?

a. int number = 123;

b. int number = "123";

c. int number = '1';

d. boolean number = 1;

Bài giải

-------------------- ######## --------------------

Bài giải.
package vong_lap_do_while;

import java.util.Scanner;

public class ChonDapAnDung {

	public static void main(String[] args) {
		char result, con = 'y';
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("Cách nào cho phép người dùng khai báo "
				+ "1 giá trị số nguyên trong 4 đáp án sau?");
		// dấu \" sẽ được hiển thị ra màn hình là "
		System.out.println("a. int number = 123;");
		System.out.println("b. int number = \"123\";");
		System.out.println("c. int number = '1';");
		System.out.println("d. boolean number = 1;");
		
		do {
			System.out.println("Nhập vào câu trả lời: ");
			result = scanner.next().charAt(0);
			
			if (result == 'a') {
				System.out.println("Kết quả đúng!");
				break;	// thoát khỏi vòng lặp nếu chọn đáp án đúng
			} else if (result == 'q') {
				// nếu người dùng nhấn phím 'q' thì sẽ kết thúc chương trình
				System.out.println("Thoát chương trình!");
			} else if (result == 'b' || result == 'c' || result == 'd') {
				System.out.println("Bạn chọn không đúng!");
			} else {
				System.out.println("Câu trả lời phải nằm trong 4 lựa chọn a, b, c hoặc d.");
			}
			System.out.println("Đoán lại? Nhấn phím y để tiếp tục, nhấn q để thoát!");
			con = scanner.next().charAt(0);
			if (con == 'q') {
				System.out.println("Thoát chương trình!");
			}
			
		} while (con == 'y'); // nếu người dùng nhấn phím 'y' thì quay lại thực hiện vòng lặp
	}

}
Lưu ý: Trong bài tập này tôi có sử dụng từ khóa break để khi người dùng nhập vào đáp án đúng thì sẽ chương trình sẽ kết thúc vòng lặp và bỏ qua các lệnh bên dưới. Sang bài sau, tôi sẽ nói rõ hơn về từ khóa này.

Kết quả sau khi biên dịch chương trình:

Nếu người dùng chọn a (đáp án đúng):

Nếu người dùng chọn 1 trong 3 đáp án b, c, d (đáp án sai) thì sẽ có 2 trường hợp xảy ra: nếu muốn đoán lại thì nhấn vào phím y, ngược lại nhấn phím q.

Trường hợp 1: Nhấn phím y để đoán lại.

Trường hợp 2: Nhấn phím q để thoát chương trình.

Nếu người dùng nhập câu trả lời ngoài 4 đáp án a, b, c, d. Đến đây người dùng có thể chọn trả lời tiếp hoặc không:

Nguồn: freetuts.net