按照控制台提示输入1~3之间任一个数字,程序将输出相应的课程名称
根据键盘输入进行判断。如果输入正确,输出对应课程名称。如果输入错误,给出错误提示,要求重新输入。
不管输入是否正确,均输出“欢迎提出建议!”语句
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean flag = false;
while (!flag){
System.out.println("请输入课程代号(1-3之间的数字)");
int choose = 0;
if (input.hasNextInt()) {
choose = input.nextInt();
flag = true;
switch (choose) {
case 1:
System.out.println("C#编程");
break;
case 2:
System.out.println("Java编程");
break;
case 3:
System.out.println("Python编程");
break;
default:
System.out.println("您输入的数字不在1-3之间,请重新输入");
flag = false;
break;
}
} else {
System.out.println("输入的不是数字,请重新输入");
System.out.println("欢迎提出建议");
break;
}
System.out.println("欢迎提出建议");
}
}
}
我想的是输入的不是数字时也能够实现重新输入,但是我目前的循环结构只能做到让它在输入的不是数字时停下,如果我不使用break,程序就把第一次输入的字符作为全部的输入,陷入死循环,hasNextInt()判断,我只能做到这一步,如果有更好的方法,希望各位不吝赐教。