Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Java中输入的其他数字相比,将数字存储为最高值_Java_If Statement_For Loop_Max - Fatal编程技术网

与Java中输入的其他数字相比,将数字存储为最高值

与Java中输入的其他数字相比,将数字存储为最高值,java,if-statement,for-loop,max,Java,If Statement,For Loop,Max,赋值说明是这样的:编写一个名为evenSum的方法,提示用户输入许多整数,并打印偶数的总和和最大值。您可以假设用户至少键入一个非负偶数整数。除了最后一部分外,我所有的东西都写对了 该部分用于确定具有最高值的数字,该值也是偶数。因此,我把它放在if语句的主体中(数字%2==0)。我如何计算出最大数量?顺便说一句,我不能使用数组,我已经尝试了Math.max,但我不知道如何使用它来确定最大值 public void evenSum() { int sumamount = 0; int evenMax

赋值说明是这样的:编写一个名为evenSum的方法,提示用户输入许多整数,并打印偶数的总和和最大值。您可以假设用户至少键入一个非负偶数整数。除了最后一部分外,我所有的东西都写对了

该部分用于确定具有最高值的数字,该值也是偶数。因此,我把它放在if语句的主体中(数字%2==0)。我如何计算出最大数量?顺便说一句,我不能使用数组,我已经尝试了Math.max,但我不知道如何使用它来确定最大值

public void evenSum()
{
int sumamount = 0;
int evenMax = 0;
int numberOfInputs = 0;
int numbers = 0;
Scanner in = new Scanner(System.in);


System.out.print("how many integers? ");
numberOfInputs = in.nextInt();


for(int i = 0; i < numberOfInputs; i++)
    {
        System.out.print("next integer? ");
        numbers = in.nextInt();

        if(numbers % 2 == 0)
            {
                sumamount += numbers;
                if(numbers > numbers)
                {
                    evenMax = numbers
                }
            }
            else
                numbers = 0;


    }


        System.out.print("even sum = ");
        System.out.println(sumamount);
        System.out.print("even max = ");
        System.out.println(evenMax);
    }
public void evenSum()
{
int summant=0;
int-evenMax=0;
int numberOfInputs=0;
整数=0;
扫描仪输入=新扫描仪(系统输入);
System.out.print(“多少个整数?”);
numberOfInputs=in.nextInt();
对于(int i=0;i个数字)
{
evenMax=数字
}
}
其他的
数字=0;
}
系统输出打印(“偶数和=”);
系统输出打印项次(总金额);
System.out.print(“偶数max=”);
系统输出打印项数(evenMax);
}

这一行是罪魁祸首:

if(numbers > numbers)
{
    evenMax = numbers
}
情况应该是这样的

if (evenMax < numbers) {
    evenMax = numbers;
}
if(evenMax

此外,最好将evenMax初始化为
-1
(奇数),并处理其为
-1
的情况,并适当地使用第一个输入(即第一个偶数输入)进行初始化。这将处理所有输入均为负偶数的情况。

这一行是罪魁祸首:

if(numbers > numbers)
{
    evenMax = numbers
}
情况应该是这样的

if (evenMax < numbers) {
    evenMax = numbers;
}
if(evenMax

此外,最好将evenMax初始化为
-1
(奇数),并处理其为
-1
的情况,并适当地使用第一个输入(即第一个偶数输入)进行初始化。这将处理所有输入均为负偶数的情况。

在for循环中,更改:

if(numbers > numbers)
致:


在for循环中,更改:

if(numbers > numbers)
致:

应该是

if (numbers > evenMax)
同时

evenMax=0开始-如果输入的所有偶数都是负数,会发生什么情况?
您可能需要一个明确的“未设置”标志

应该是

if (numbers > evenMax)
同时

evenMax=0开始-如果输入的所有偶数都是负数,会发生什么情况?

您可能需要一个明确的“未设置”标志。

这里是问题
if(numbers>numbers)
应该是
if(numbers>evenMax)
这里是问题
if(numbers>numbers)
如果(numbers>evenMax)
您需要比较numbers和evenMax。不是数字和数字。你需要比较数字和evenMax。不是数字和数字。虽然他“保证”永远不会发生。假设允许OP以任何方式给它0尽管他“保证”永远不会发生。假设允许OP以任何方式给它0实际上,他在运行测试之前设置了
数字。它永远不会在“未设置”状态下使用。从未说过它将在未设置状态下使用。如果所有输入均为-ve,则0将被报告为最高值,即使它不是其中一个输入(甚至不要从0是否为偶数开始…)。[重新阅读时,这保证不会发生,但很容易编码]实际上,他甚至在运行测试之前就设置了
数字。它永远不会在“未设置”状态下使用。从未说过它将在未设置状态下使用。如果所有输入均为-ve,则0将被报告为最高值,即使它不是其中一个输入(甚至不要从0是否为偶数开始…)。[重读时,这保证永远不会发生,但很容易编写代码]