嗨我写一个找到最大值的循环有问题。
整数列表和整数变量声明如下: 清单清单; int max;
假设某些值(包括底片!)已添加到列表中。我需要在列表中找到最大值并将其存储在最大值
中// start of test code
import java.util.*;
public class ListTest
{
private List<Integer> list;
private int max;
public void findMaxInListTest()
{
list = new ArrayList<Integer>(); // could be a Linked list
list.add(0);
list.add(-99);
list.add(99);
list.add(1320);
list.add(470000);
list.add(12);
list.add(-5000);
list.add(300);
/*# max = starting value
iterate through list to set max = max value in list
in this case 470000
*/
}
}
我尝试使用此循环,但后来遇到错误:
int max = list[0];
for(int i=470000;i < list.length;i++){
if(list[i] > max){
max = list[i];
}
}
return max;
你知道哪种循环适合这个吗?感谢
答案 0 :(得分:2)
您需要遍历列表。从i = 0开始 - 不是47000。
希望这有帮助。
答案 1 :(得分:2)
for(int i=470000;i < list.length;i++){
我是索引。把i = 0。获取索引470000的列表元素会引发异常。
另外,list [i]在java中不起作用。使用list.get(i)。 另外,list.length不适用于列表。使用list.size()。
你错误解释了java List - 它不是一个数组。
答案 2 :(得分:2)
import java.util.Collections;
Collections.sort(list);
System.out.println(list.get(list.size() - 1));
答案 3 :(得分:1)
for(int i=470000;i < list.length;i++){
应该是
for(int i=0;i < list.length;i++){
答案 4 :(得分:0)
不需要循环,请使用max
(Documentation)中的java.utils.Collections
方法
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(0);
list.add(-99);
list.add(99);
list.add(1320);
list.add(470000);
list.add(12);
list.add(-5000);
list.add(300);
System.out.println(Collections.max(list));
}
}