
package com.itheima.d5_exception_handle_runtime;
import java.util.Scanner;
/**
* 需求:需要输入一个合法的价格为止 要求价格大于0
*/
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double price = 0;
while (true) {
try {
// 把下面代码放到try/catch异常处理代码块中去
System.out.println("请您输入合法的价格");
String priceStr = sc.nextLine(); // nextLine 是输入一行的数据,返回字符串类型
// 转换成double类型的价格 转换valueOf()方法,括号里面接要转换数据类型的字符串
// 要转换引用类型.valueOf(str) 将要转换的字符串,转换成该对应的类型
price = Double.valueOf(priceStr);
// 判断价格是否大于0
if (price > 0){ // 如果用户瞎输入,23aaa,会报错,终止
System.out.println("定价:" + price);
break;
}else {
System.out.println("价格必须是正数");
}
} catch (NumberFormatException e) {
e.printStackTrace(); // 这里拦截到异常会提示错误会进行下面的代码(进行while循环)
System.out.println("您输入的代码有误,不规范");
}
}
}
}