所以我试图找到用户输入的数组的最小值和最大值。
这是我的代码
public static void main(String[] args) {
int[] a = new int[args.length];
for (int i = 0; i < args.length; i++) {
a[i] = Integer.parseInt(args[i]);
int max = a[0];
for (int j = 1; j < args.length; j++) {
if (a[j] > max) {
max = a[j];
}
}
System.out.println("the maximum value of the array is " + max);
}
}
但我得到的输出是我输入的每一个数字。我的错误是什么?
我们来回顾一下整个过程。因为这是一个 int 数组,所以值被初始化为0
。在第一个 for 循环中,我们将第一个 int 分配给a[0]
。然后,在第二个 for 循环中,我们检查数组中的每个值是否为最大值(因此根据零负载检查第一个值),然后退出嵌套的 for 循环并打印语句(值为a[0]
,如果是正数)。
现在我们进行外循环的第二个循环,如果这个值再次变大,则将打印该值,否则将重新打印第一个值(您的数组是否按升序排列?),对于每个值依此类推。
正如所评论的,单个循环就足够了,并确保您的 print 语句位于外部 for 循环之外
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)