思路:将录入的多个数据存储到ArrayList集合中,创建长度为集合大小的数组,将集合转为数组,然后对数组排序,这样数组中最后一位就是所有数据中的最大值。
完整代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class ArrayListDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Integer> array = new ArrayList<Integer>(); //创建ArrayList集合
while (true) {
System.out.println("请输入数据:");
int num = sc.nextInt();
if (num != 0) {
array.add(num); //输入非0,将其存储到集合中
} else {
break;
}
}
Integer[] i = new Integer[array.size()];
array.toArray(i); //集合转数组
Arrays.sort(i); //数组排序
System.out.println("数组是:" + arrayToString(i) + "最大值为:" + i[i.length - 1]);
}
public static String arrayToString(Integer[] i) { //将数组格式化输出
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int x = 0; x < i.length; x++) {
if (x == i.length - 1) {
sb.append(i[x]);
} else {
sb.append(i[x]).append(",");
}
}
sb.append("]");
return sb.toString();
}
}