You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:15:04