Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 循环以查找最大值_Java - Fatal编程技术网

Java 循环以查找最大值

Java 循环以查找最大值,java,Java,嗨,我在写一个找到最大值的循环时遇到了一个问题 整数列表和整数变量声明如下: 名单; int max; 假设一些值(包括负数!)已添加到列表中。我需要在列表中找到最大值并将其存储在max中 // start of test code
 import java.util.*;
 public class ListTest
 {
 private List<Integer> list;
 private int max; public void findMaxInListTest()


嗨,我在写一个找到最大值的循环时遇到了一个问题

整数列表和整数变量声明如下: 名单; int max;

假设一些值(包括负数!)已添加到列表中。我需要在列表中找到最大值并将其存储在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
    */

}

}
//测试代码的开始

导入java.util.*;

公共类列表测试

{

私人名单;

私人int max;
public void findMaxInListTest()
        {

list=new ArrayList();//可以是链表

列表。添加(0);
增加(-99);

增加(99);
增加(1320);

增加(470000);

增加(12);
增加(-5000);
增加(300);
/*#最大值=起始值

遍历列表以设置列表中的max=max值

在这种情况下,470000
    */

}

}
我尝试使用此循环,但随后遇到错误:

int max = list[0];
  for(int i=470000;i < list.length;i++){
    if(list[i] > max){
      max = list[i];
    }
  }
return max;
int max=list[0];
对于(int i=470000;i最大值){
max=列表[i];
}
}
返回最大值;

你知道哪种循环适合这个吗?谢谢

您需要反复浏览列表。从i=0开始,而不是47000

希望这有帮助。

for(inti=470000;ifor(int i=470000;i < list.length;i++){ 
应该是

for(int i=0;i < list.length;i++){ 
for(inti=0;i
for(int i=470000;i
i是索引。put i=0。获取索引470000的列表元素会引发异常

另外,list[i]在java中不起作用。 此外,list.length对列表不起作用。请使用list.size()


您误解了java列表-它不是数组。

不需要循环,请使用
java.utils.Collections
中的
max
方法()

import java.util.Collections;

Collections.sort(list);
System.out.println(list.get(list.size() - 1));
import java.util.ArrayList;
导入java.util.Collections;
导入java.util.List;
公开课考试{
公共静态void main(字符串[]args){
列表=新的ArrayList();
列表。添加(0);
增加(-99);
增加(99);
增加(1320);
增加(470000);
增加(12);
增加(-5000);
增加(300);
System.out.println(Collections.max(list));
}
}

还要使max=list.get(0);因此,如果列表中的某个数字大于第一项,则初始化max,然后用该数字替换max。您好,请在此处查看答案欢迎使用堆栈溢出,并检查。
import java.util.Collections;

Collections.sort(list);
System.out.println(list.get(list.size() - 1));
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));
    }
}