Java 程序未按预期运行

Java 程序未按预期运行,java,Java,我正在尝试制作一个java程序,它将添加输入,直到总数等于100+或用户输入5个数字。我还试图添加一个最高的运行记录来跟踪最高的输入。目前,它在5次输入后继续运行,但总计不到100次,并且我的最高运行不起作用。我该如何解决这个问题?(如果你能告诉我,我是Java新手) import java.io.*; 公开课高分考试{ 公共静态void main(字符串[]args){ //输入流。 InputStreamReader输入=新的InputStreamReader(System.in); Buf

我正在尝试制作一个java程序,它将添加输入,直到总数等于100+或用户输入5个数字。我还试图添加一个最高的运行记录来跟踪最高的输入。目前,它在5次输入后继续运行,但总计不到100次,并且我的最高运行不起作用。我该如何解决这个问题?(如果你能告诉我,我是Java新手)

import java.io.*;
公开课高分考试{
公共静态void main(字符串[]args){
//输入流。
InputStreamReader输入=新的InputStreamReader(System.in);
BufferedReader reader=新的BufferedReader(输入);
//常量声明
最终整数MAX=100;
最终整数MAX_数=4;
//变量声明
弦圈套;
整数当前总数;
整数流水号;
整数输入=0;
整数计数;
整数maxRunToDate=0;
//如果抛出一些异常,我们将捕获异常。
//当需要数字时,输入字符串将是一个异常
试一试{
System.out.println(“你叫什么名字?”);
//从流中读取字符串
sName=reader.readLine();
currentTotal=0;
对于(计数=0;计数<最大值;计数++){
NumberInputed+=计数;
}
做{
System.out.println(“请输入一个数字”);
currentNumber=Integer.parseInt(reader.readLine());
currentTotal=currentTotal+currentNumber;
}while(currentTotal
一些帮助帮助您继续:

currentRun = currentRun + currentNumber;
根本没有道理

我假设currentRun应该统计到目前为止运行的次数。这样你就可以在第五轮后停下来

因此:对于每一轮,您应该只增加该计数器

换句话说:试着把事物分开。后退一步,考虑你想“跟踪”什么样的信息,你需要做多少变量。p>
请理解:我们不会为您解决您的任务。如果有的话,将会有一些关于如何取得进展的指导。但不要指望我们找出代码中的所有bug,并为您解决它们。

有几件事您需要知道:

首先,避免像
Integer
这样的包装类,除非您打算将其与
collection
框架甚至流一起使用。如果您的问题是解析的输出是
Integer
类,不要担心,因为它会自动取消装箱。大概是这样的:

int currentNumber=Integer.parseInt(reader.readLine())//自动拆箱
第二,为什么一开始就有for循环?移除它。如果要初始化
numberInputed
变量,只需初始化即可

第三,如果你想增加或减少,你可以使用
++
或`--

并查看Oracle教程:

我希望我帮了忙


祝你今天愉快。:)

他的
numbersInputed
也毫无意义,基本上整个代码都很奇怪。我给那个变量起了个奇怪的名字,我的意思是说,currentTotal不是累计到那个点的总和。因此,该行将通过将用户刚刚输入的数字添加到该点的总数来更新currentTotal。NumberInput是一个变量,用于合计输入的数量。@Lummers您想做什么并不重要。计算机(还有我们),我们只知道你写的代码。正如Murat所说,您的代码在不同方面看起来都很奇怪。我指出了你的代码中一个明显的问题,让你继续…尽可能地缩短你的程序,同时仍然重现这个问题。不要要求我们为您调试整个程序。缩短后,您可能会看到问题,或者可以再次询问。如果希望用户输入5个数字,为什么将
MAX\u NUMBER
设置为4?