如何使用BufferedReader读取或解析整数类型数据?
问题原因
BufferedReader的readLine()方法固定返回String类型,无法直接参与算术运算,必须先转换为整数类型才能进行取模%操作。- 原有代码的判断逻辑不完整,也没有对非数字输入的异常场景做处理。
可运行的修改后完整代码
import java.io.*; public class tmetodoI { public static void main(String[] args) { BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in)); String inputStr = ""; int num = 0; System.out.print("Ingrese un valor entero para determinar si es multiplo de 6:"); try { inputStr = dataIn.readLine(); // 字符串转整数 num = Integer.parseInt(inputStr); } catch(IOException e) { System.out.println("输入读取错误"); return; } catch(NumberFormatException e) { System.out.println("输入内容不是合法整数"); return; } // 补全倍数判断逻辑 if (num % 6 == 0) { System.out.println(num + " 是6的倍数"); } else { System.out.println(num + " 不是6的倍数"); } } }
关键修改说明
- 新增int类型变量
num存储转换后的整数 - 使用
Integer.parseInt()方法将读取到的字符串转换为int类型 - 新增
NumberFormatException异常捕获分支,处理用户输入非数字的异常 - 补全了判断是否为6的倍数的完整逻辑与输出
内容的提问来源于stack exchange,提问作者Cesar Villarreal
相关产品推荐
相关产品推荐

