package chapter6;
//数据输入格式检查
import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;

/*利用TRY catch代码检查用户输入数据是否是有效的浮点数,
 * 如果是将其记录,提示用户重新输入*/
public class DataCheck {
   public static void main(String[] args)throws IOException{
       //创建Scanner对象in
       Scanner in=new Scanner(System.in);
       //设置控制变量dataright并且赋值
       boolean dataright=true;//初始化dataright  ture或false都可以;;;;
       //循环控制
       do{
           try{
               System.out.println("请输入一个浮点数");
               double numberx=in.nextDouble();//讲字符串解析为带符号的double类型数据
               //如果输入正确,执行语句
               System.out.println(numberx);
               //修改循环变量,是循环结束
               dataright=false;
           }
           catch(InputMismatchException e){//捕捉异常
               System.out.println("输入数据无效,请重新输入");
               dataright=true;//修改循环变量,使之有效,
               String x=in.nextLine();//读取数据换行
           }
       }while(dataright);
       //do-while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。其实就是,代码在刚开始执行的时候,
       //都是要先走一遍do循环体内的代码,然后在与while里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环
       
   }
}

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。