In ra màn hình cách đọc số nguyên

Hi các bác. Em được giao bài tập là nhập vào số nguyên có 2 chữ số và in ra cách đọc. ( dùng Java và chỉ sử dụng if else và switch case)
Em vướng ở chỗ 11 " Mười Một " và 21 " Hai Mươi Mốt" , 31, 41 …

int so;
Scanner scan = new Scanner(System.in);
System.out.println("Mời Nhập Số Nguyên 2 Chữ Số: ");
so = Integer.parseInt(scan.nextLine());

if (so < 10 && so > 99) {
	System.out.println("Không Hợp Lệ");
}

int donVi = so % 10;
int hangChuc = so / 10;


switch (hangChuc) {
case 2:
	System.out.print("Hai Mươi ");
	break;
case 3:
	System.out.print("Ba Mươi ");
	break;
case 4:
	System.out.print("Bốn Mươi ");
	break;
case 5:
	System.out.print("Năm Mươi ");
	break;
case 6:
	System.out.print("Sáu Mươi ");
	break;
case 7:
	System.out.print("Bảy Mươi ");
	break;
case 8:
	System.out.print("Tám Mươi ");
	break;
case 9:
	System.out.print(" Chín Mươi ");
	break;

default:
	System.out.print("Mười ");
	break;
}
switch (donVi) {
case 1:
	
		System.out.println("Một");

	
	break;
case 2:
	System.out.println("Hai ");
	break;
case 3:
	System.out.println("Ba ");
	break;
case 4:
	System.out.println("Bốn ");
	break;
case 5:
	System.out.println("Lăm ");
	break;
case 6:
	System.out.println("Sáu ");
	break;
case 7:
	System.out.println("Bảy ");
	break;
case 8:
	System.out.println("Tám ");
	break;
case 9:
	System.out.println(" Chín ");
	break;

default:

Các số < 20 có cách đọc riêng và >= 20 có cách đọc riêng. if else chỗ đó trước khi switch (hangChuc) là được.

3 Likes

Bạn đặt if vào trong case 1 của hàng đơn vị nhé :slight_smile:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?