明解Java 练习6-14

//月份的英文表达,练习6-14
import java.util.Random;
import java.util.Scanner;

class MonthEnglish{
	
	public static void main(String[] args){
		Random rand = new Random();
		Scanner stdIn = new Scanner(System.in);
		String[] monthString = {
			"January", "February", "March", "April", "May", "June", "July",
			"August", "September", "October", "November", "December"
		};
		System.out.println("请输入月份的英文表达。");
		System.out.println("首字母大写,之后的字母小写。");
		
		int month = rand.nextInt(12) ;	// 目标月份:0~11的随机数
		do{	
			System.out.print( (month + 1 ) + "月:");
			String s = stdIn.next();
			String s2 = monthString[month];
			boolean b = s.equals(s2);
			if (b) {
				System.out.print("回答正确。再来一次? 1...Yes/0...No: ");
				int a = stdIn.nextInt();
				if (a == 1) {
					int month2 = rand.nextInt(12);
					int retry = 0;
					do{
						if (month2 != month){
							month = month2;
							retry = 0;
						}
						else{
							month2= rand.nextInt(12);
							retry = 1;
						}
					} while ( retry == 1);
					continue;
				}
				else if (a == 0)
					break;
			}
			else{
				System.out.println("回答错误。");
			}	
		} while (true);
		
	}
}

 

你可能感兴趣的:(明解Java练习)