java 循环处理异常_java代码异常处理篇-----循环

package com.da;

import java.util.InputMismatchException;

import java.util.Scanner;

//从键盘输入数,判断,是double型则输出。通过循环变量退出do-while循环

//若不是,则系统提示异常,该异常被catch语句捕获。catch语句用来显示数据输入错误提示信息。

//并提示用户重新输入,然后通过循环变量使do-while循环继续执行。 要求用户重新输入

//其中 Scanner中的方法 String nextline()的作用是:

//扫描当前行,并返回跳过的输入信息。由此。。。定是Scanner类的方法

public class h {

public static void main(String[] args) {

Scanner c = new Scanner(System.in);

boolean a = false;

do {

try {

System.out.println("请输入数据:");

double x = c.nextDouble();

System.out.println(x);

a = false;

} catch (InputMismatchException A) {

System.out.println("数据输入无效,请重新输入");

System.out.println("message:" + A);

// a=true;//如果省略了这最关键的一步,

// 那么程序无法继续执行,它会终止。因为异常虽被捕捉了。但是还是错误的

// 所以这里要修改默认值,即让程序继续执行下去,让循环变量为true,使之有效!!!

String b = c.nextLine();// nextline()方法是扫描器执行当前行,返回跳过的输入信息是Scanner类的方法

}

} while (a = true);// 我在这里修改了下程序。本来这里是对于正确输入是退出(while(a);),不会继续下去。

}// a=true时。它在do循环外面。所以无论输入对否。它会继续循环下去。干嘛输入对了一次就不输入了。

}// 程序的运行也会有偶然性。有时候,有的bug在中间,而不是开始的时候。多验证输入几次,增强准确性

//

请输入数据:

t

数据输入无效,请重新输入

message:java.util.InputMismatchException

请输入数据:

tr

数据输入无效,请重新输入

message:java.util.InputMismatchException

请输入数据:

34

34.0

请输入数据:

t

数据输入无效,请重新输入

message:java.util.InputMismatchException

请输入数据:

w

数据输入无效,请重新输入

message:java.util.InputMismatchException

请输入数据:

g

数据输入无效,请重新输入

message:java.util.InputMismatchException

请输入数据:

a

数据输入无效,请重新输入

message:java.util.InputMismatchException

请输入数据:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值