1、实验描述
获取用户输入的字符,并将其转换成整数;在转换过程中出现异常,则提示用户输入非法。
2、推荐步骤
2-1. 新建项目工程,工程名:CORE_C06_034:
2-1.1. 创建一个java类,类名FormatExceptionDemo;
2.1.2. 添加程序入口的main方法,并完成以下逻辑:
2-2. 在main方法中新建一个Scanner对象,构造器入参为【System.in】。
2-3. 向控制台输出提示语句:【请输入一个整数:】
2-4. 通过Scanner对象的nextLine方法获取控制台输入的内容。
2-5. 定义一个整型变量,初始值为-1,用于保存类型转换后的数字。
2-6. 把输入的字符串转换为整数:
2-6.1. 通过Integer类的parseInt方法进行类型转换。
2-6.2. 通过Scanner对象的close方法关闭流。
2-7. 捕获类型转换异常:
2-7.1. 使用try…catch语句捕获2-6步骤中的NumberFormatException异常:
2-7.2. 当发生异常时,向控制台输出提示信息【输入内容不是整数!】,并结束应用程序。
2-7.3. 结束应用程序方法:System.exit(0)。
2-8. 向控制台输出转换好的数字内容。
3、验证与测试
3-1. 程序测试:
3-1.1. 运行该项目,向控制台输入一个含有非数字的字符串。
3-1.2. 观察控制台的错误反馈信息。
import java.util.Scanner;
public class FormatExceptionDemo {
public static void main(String[] args) {
// 新建一个Scanner对象
Scanner scanner = new Scanner(System.in);
// 向控制台输出提示语句
System.out.println("请输入一个整数:");
// 获取控制台输入的内容
String input = scanner.nextLine();
// 定义一个整型变量,初始值为-1,用于保存类型转换后的数字
int number = -1;
// 把输入的字符串转换为整数
try {
number = Integer.parseInt(input);
} catch (NumberFormatException e) {
// 当发生异常时,向控制台输出提示信息
System.out.println("输入内容不是整数!");
// 关闭流
scanner.close();
// 结束应用程序
System.exit(0);
}
// 关闭流
scanner.close();
// 向控制台输出转换好的数字内容
System.out.println("您输入的数字是:" + number);
}
}