不使用try-catch结构,实现不管输入是否正确,均输出“欢迎提出建议!”语句

按照控制台提示输入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()判断,我只能做到这一步,如果有更好的方法,希望各位不吝赐教。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值