当前位置: 首页 > 知识库问答 >
问题:

计算的“错误”结果。爪哇。卡住了

申屠无尘
2023-03-14

大家好。我卡住了,不明白为什么代码会给我一个“错误”的答案。

我的任务是:编写一个程序,取数字并计数,直到用户输入“exit”,然后程序打印出用户刚刚插入的所有数字的摘要并停止。

我现在正在网上学习java,不知道该如何回答:当你输入1或2或3个或更多的数字时,它会计算并打印错误的结果,甚至代码无法编译并弹出一个错误。

例如。你放了2个数字,有一个错误

线程“main”java.lang.NumberFormatException.forInputString(NumberFormatException.java.base:68)java.base/java.lang.Integer.ParseInt(Integer.java:652)java.base/java.lang.Integer.ParseInt(Integer.java:770)jr.Constructors.Solution.Main(Solution.java:11)

或3个数字,如2+3+4,它打印6而不是8。

求求你帮帮我!

这是我的密码

public static void main(String[] args) throws Exception {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    int sum = 0;
    while(true){
        int a = Integer.parseInt(reader.readLine());
        String s = reader.readLine();
        sum += a;
        if(s.equals("exit")){
            System.out.println(sum);
            break;
        }
    }
}

共有1个答案

庄子平
2023-03-14

如果任何人键入数字integer.parseInt()以外的任何内容都将失败并抛出错误,因此使用1个变量从流中获取输入,首先查看用户是否键入了“exit”,如果没有尝试将字符串转换为整数,请确保将其放入try catch块中,以便在用户键入的内容无效时捕获错误。

 类似资料:
  • 但是由于某种原因,当我运行我的程序时,它似乎没有完全接受输入,并且给我一个错误的答案,当按下按钮时,它给我的答案是179.0的男性和169.0的女性。 我看了一遍又一遍,似乎无法找出这个逻辑错误。这是我的代码。

  • 我在mac os X 10.6.8上安装了詹金斯,成功安装詹金斯后,我在浏览器中以默认地址浏览它http://localhost:8080但tomcat页面显示的不是詹金斯主页。我读了jenkins的文档,它将需要执行命令java-jarjenkins.war--http pPort=8080 当执行命令java-jarjenkins时。war——httpPort=8080 有这个错误 2016-

  • 导入java.util.Scanner;公共类GroupActivity{公共静态void main()

  • 我在Java寻找与斯卡拉的未来相当的东西。 我正在寻找一种构造类型,它允许我将任务(s/s)提交到我选择的特定线程池,返回futures,允许我在任务完成时将一些逻辑(以非阻塞方式)链接到它。大概是这样的: Java的线程池(通过singleton提供)似乎总是返回标准的Javas,它只允许我调用阻塞。另一方面,据我所知,,更类似于Scala的promise,并且不绑定到线程池。 Java提供我想

  • 我试图创建一个java程序,它将接受来自用户的输入,在网格内绘制一个单个星形(*)矩形。我希望程序接受矩形左上角的(x,y)坐标对,以及矩形的宽度和高度。然后它应该像这个EX一样绘制矩形。(x=16,y=14)和(宽=4,高=5)。我正在努力在哪里接近这一点,因为我试图做到这一点,而不使用数组或二维数组绘制矩形和笛卡尔网格。 我将如何划分绘制20x40网格所需的内聚方法,然后在该网格上绘制一个形状

  • 问题内容: 我有这个Java代码段。我是Java的菜鸟。 错误: 码: 问题答案: 是的,这是问题所在: 在课程的最高级别,您只能拥有: 实例初始化程序块() 静态初始值设定块() 变量声明 构造函数声明 方法声明 嵌套类型声明 终结器声明 这些都不是。如果你 的意思 来声明一个变量,你应该这样做: 如果这 不是 您想要的,则应解释您的意图。 编辑:修复此问题后,此编译器错误似乎很明显: Conf