Java 找到最大数量?
好的,所以当我输入Java 找到最大数量?,java,loops,Java,Loops,好的,所以当我输入1,2100,3,9,22,58的数组时,我不明白为什么 以下代码返回100: (这只是一个片段,是更大代码块的一部分) 提前感谢您的帮助,这让我抓狂,而且可能非常愚蠢。在第二个示例中,您在if语句中打印,因此每次它遍历列表时,都会打印出一个结果。在第一个示例中,它在if之后执行,因为您不使用大括号。如果不在语句后使用{}大括号,则假定该语句中只包含下一行 在继续编码之前,您应该学习良好的编码实践。当您的代码变得更复杂时,它将帮助您避免类似的事情。此外,单步执行代码将准确显示正
1,2100,3,9,22,58的数组时,我不明白为什么
以下代码返回100
:
(这只是一个片段,是更大代码块的一部分)
提前感谢您的帮助,这让我抓狂,而且可能非常愚蠢。在第二个示例中,您在if语句中打印,因此每次它遍历列表时,都会打印出一个结果。在第一个示例中,它在if之后执行,因为您不使用大括号。如果不在语句后使用{}大括号,则假定该语句中只包含下一行
在继续编码之前,您应该学习良好的编码实践。当您的代码变得更复杂时,它将帮助您避免类似的事情。此外,单步执行代码将准确显示正在发生的情况,因此您还应该学习如何使用调试器。中
if (numbers[i] > result)
result = numbers[i];
System.out.println("The max value is " + result);
不带大括号的if
块仅包括下一行
与
块的相同
解释。
的没有大括号,因此它只会迭代下一个代码块,即if
块
if
块也没有大括号,因此它将迭代下一个块/语句,即
result = numbers[i];
因此,您的System.out.println(“最大值为”+result)非常有效在第一种情况下,代码>语句在两个块之外,因此只执行一次。在第一种情况下,如果该数字大于先前的结果值,则将结果设置为当前数字(number[i]
)。只要结果大于其设置的第一个值(numbers[0]
),此操作的效果就是将结果更新为迄今为止找到的最大值。如果在循环结束时打印,则打印的是数组中的最大值(最大值)。在第二种情况下,在遍历数字
数组时,始终打印数组中迄今为止找到的最大数字-因此,按升序打印数字。在第一个示例中,系统.out.println
仅在块末尾执行一次。在第二个示例中,每次遇到一个新的迄今为止最高的数字时,都会执行它
在这两个示例中添加大括号应该可以清楚地看出区别:
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] > result) {
result = numbers[i];
}
}
System.out.println("The max value is " + result); // only ever called once
for(int i=0;i结果){
结果=数字[i];
}
}
System.out.println(“最大值为“+结果”);//只打过一次电话
vs
for(int i=0;i结果){
结果=数字[i];
System.out.println(“最大值为”+result);//每当数字[i]>result时调用
}
}
每当您发现大于结果的数字时,就将其与结果交换,并将其打印出来
System.out.println(“最大值为”+结果)
应该紧跟在for循环之后(在花括号外),因此当循环结束时,只会打印出最大的数字。double result=number[0];
double result = numbers[0];
for (int i = 0; i < numbers.length; i++)
{
if (numbers[i] > result) //this will check each array members to find the max
{
result = numbers[i];//assign the array member if it is the largest
}
System.out.println("The max value is " + result); //print the max value of the array
for(int i=0;iresult)//这将检查每个数组成员以查找最大值
{
result=numbers[i];//如果数组成员是最大的,则分配它
}
System.out.println(“最大值为”+结果);//打印数组的最大值
阅读java及其控制流语句
If和for语句都有一个子句,这是受控制的代码。它可以是单个语句,也可以是一组用大括号括起来的语句
请阅读以下内容:
我想回顾一下如何按照BobbyD17的建议使用调试器逐步完成代码
对于eclipse,请参考以下内容
例如。1)所有的块都应该用大括号括起来,所有的,甚至是一行的块。2)学会正确缩进。你糟糕的缩进和缺少大括号会把你搞砸(我希望如此)。如果你不明白你的程序在做什么,我建议你在调试器中一步一步地检查代码。
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] > result) {
result = numbers[i];
}
}
System.out.println("The max value is " + result); // only ever called once
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] > result) {
result = numbers[i];
System.out.println("The max value is " + result); // called whenever numbers[i] > result
}
}
double result = numbers[0];
for (int i = 0; i < numbers.length; i++)
{
if (numbers[i] > result) //this will check each array members to find the max
{
result = numbers[i];//assign the array member if it is the largest
}
System.out.println("The max value is " + result); //print the max value of the array