在这种情况下,数组nums中有一个未定义的整数,我试图找到最大的并打印它。当我这样做时,a总是打印为0,因为循环中发生的任何事情都不会影响它之外的值。任何人都知道如何解决这个问题?
int a = 0;
for(int i=0;i>nums.length;i++){
if(nums[i]>a)
a=nums[i];
i++;}
System.out.print(a);
答案 0 :(得分:4)
此代码有两个错误:
i
的值将小于nums.length
你的循环应如下所示:
for(int i=0;i<nums.length;i++){
if(nums[i]>a)
a=nums[i];
}
答案 1 :(得分:0)
以下是您的问题的解决方案:
import java.util.*;
class Main {
public static void main(String[] args) {
List<Integer> arrayList = new ArrayList<Integer>();
Random r = new Random();
// Fill the ArrayList with integer RandomNumbers
int size = r.nextInt(100);
int maxValue = 0;
for(int i=0 ; i < size ; i++){
int value = r.nextInt(1000);
System.out.println("Current value: " + value);
arrayList.add(value);
if(value > maxValue)
maxValue = value;
}
System.out.println("Max: " + maxValue);
// If u want to shuffle the list
Collections.shuffle(arrayList);
}
}