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里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环
}
}