与Java中输入的其他数字相比,将数字存储为最高值
赋值说明是这样的:编写一个名为evenSum的方法,提示用户输入许多整数,并打印偶数的总和和最大值。您可以假设用户至少键入一个非负偶数整数。除了最后一部分外,我所有的东西都写对了 该部分用于确定具有最高值的数字,该值也是偶数。因此,我把它放在if语句的主体中(数字%2==0)。我如何计算出最大数量?顺便说一句,我不能使用数组,我已经尝试了Math.max,但我不知道如何使用它来确定最大值与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
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是否为偶数开始…)。[重读时,这保证永远不会发生,但很容易编写代码]