求助java输入输出的问题

greatbody 2013-07-24 09:19:12
代码如下:

static void scannerme(){
Scanner kScanner =new Scanner(System.in);
System.out.print("输入一段文字:");
String nInput=kScanner.nextLine();
System.out.println("您输入的是:"+nInput);
kScanner.reset();
try {
System.out.print("输入一个数字:");
int d=kScanner.nextInt();
System.out.println("您输入的数字是:"+d);
} catch (Exception e) {
// TODO: handle exception
System.out.print("输入一个数字:");
kScanner.reset();
int d=kScanner.nextInt();
System.out.println("您输入的数字是:"+d);
}
}

这个代码执行后,如果我第一个输入字符串,第二个输入数字,可以正常执行
而我如果第一个输入字符串,第二个输入字符串,就会出错。

我的问题是,如果我的catch里面的代码还出错,可不可以重复要求用户输入?
如果用catch嵌套的话,或许可以解决一定次数的重复错误的更正,但是如果我不停的输错的结果呢?求大神指导。
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatbody 2013-07-24
  • 打赏
  • 举报
回复
引用 1 楼 AA5279AA 的回复:
第一个接受是 String nInput=kScanner.nextLine(); 第二个接受是 int d=kScanner.nextInt(); 第二个接受值为int当然会报错 稍微了改了一下,应该是你需要的

public static void main(String[] args) {
		Scanner kScanner = new Scanner(System.in);
		System.out.print("输入一段文字:");
		String nInput = kScanner.nextLine();
		System.out.println("您输入的是:" + nInput);
		kScanner.reset();

		while (true) {
			try {
				System.out.print("输入一个数字:");
				int d = kScanner.nextInt();
				System.out.println("您输入的数字是:" + d);
				break;
			} catch (Exception e) {
				kScanner.next();
				System.out.println("输入格式不对,请重新输入");
			}
		}
	}
对的,我就是需要这个,耽搁了您的时间,万分感谢您的解答!
失落夏天 2013-07-24
  • 打赏
  • 举报
回复
第一个接受是 String nInput=kScanner.nextLine(); 第二个接受是 int d=kScanner.nextInt(); 第二个接受值为int当然会报错 稍微了改了一下,应该是你需要的

public static void main(String[] args) {
		Scanner kScanner = new Scanner(System.in);
		System.out.print("输入一段文字:");
		String nInput = kScanner.nextLine();
		System.out.println("您输入的是:" + nInput);
		kScanner.reset();

		while (true) {
			try {
				System.out.print("输入一个数字:");
				int d = kScanner.nextInt();
				System.out.println("您输入的数字是:" + d);
				break;
			} catch (Exception e) {
				kScanner.next();
				System.out.println("输入格式不对,请重新输入");
			}
		}
	}

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧