Java 在ArrayList中查找最小值、最大值、平均值和
我正在写一个程序,从用户那里得到三个数字,并将其放入一个数组列表中,然后求和、平均值、最小值和最大值。我在求最小值时遇到问题。当我运行代码时,最小值总是零。如何解决此问题Java 在ArrayList中查找最小值、最大值、平均值和,java,android,Java,Android,我正在写一个程序,从用户那里得到三个数字,并将其放入一个数组列表中,然后求和、平均值、最小值和最大值。我在求最小值时遇到问题。当我运行代码时,最小值总是零。如何解决此问题 int num = 0; int sum = 0; int avg = 0; int min = 0; int max = 0; int i = 0; ArrayList<Integer> array = new ArrayList<Integer&g
int num = 0;
int sum = 0;
int avg = 0;
int min = 0;
int max = 0;
int i = 0;
ArrayList<Integer> array = new ArrayList<Integer> ();
Scanner input = new Scanner (System.in);
for (i = 0; i < 3; ++i){
System.out.println("Enter a number");
num = input.nextInt();
array.add(num);
sum += num;
if(num > max){
max = num;
}
if(num < min){
min = num;
}
}
avg = sum / i;
System.out.println("Sum: " + sum);
System.out.println("Avg: " + avg);
System.out.println("Max: " + max);
System.out.println("Min: " + min);
//Code Result
//Enter a number
// 10
//Enter a number
// 20
//Enter a number
// 30
//Sum: 60
//Avg: 20
//Max: 30
//Min: 0 <-- this is always zero
}
int num=0;
整数和=0;
int平均值=0;
int min=0;
int max=0;
int i=0;
ArrayList数组=新的ArrayList();
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<3;++i){
System.out.println(“输入一个数字”);
num=input.nextInt();
add(num);
sum+=num;
如果(数值>最大值){
max=num;
}
if(num //Min:0这是因为您将Min
设置为0
,并且它低于所有值。
你需要将它初始化为一个大的数字(比如说整数.MAX_VALUE
),然后它就可以工作了早上好,肖恩
您必须在循环外部初始化“min”值,并且必须将“min”初始化为大值,如“Integer.MAX_value”
无论如何,我将告诉您如何在没有循环的情况下找到某些元素:
要获得ArrayList的最大值,您不需要使用。您可以使用集合API
查找它
Collections.max(arrayList);
Collections.min(arrayList);
它返回ArrayList中所有元素的最大值
要获取最小值,集合API中的函数无法找到它
Collections.max(arrayList);
Collections.min(arrayList);
这也行
求和和和平均值,你们必须用循环计算,在你们的程序中是可以的
您的代码必须是这样的
int num=0;
整数和=0;
int平均值=0;
int min=0;
int max=0;
int i=0;
ArrayList数组=新的ArrayList();
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<3;++i){
System.out.println(“输入一个数字”);
num=input.nextInt();
add(num);
sum+=num;
}
max=Collections.max(数组);
min=Collections.min(数组);
平均值=总和/i;
System.out.println(“总和:+Sum”);
系统输出打印项次(“平均值:“+Avg”);
System.out.println(“Max:+Max”);
System.out.println(“Min:+Min”);
PD:必须导入java.util.Collections
祝你有愉快的一天 而不是int min=0代码>使用int min=Integer.MAX\u值
在你的问题出现前几分钟,有一个类似的问题与同样的问题完全相同。(练习的重点可能完全是另一个问题-思考流。)(Blackbelt的评论类似地适用于max
)(PD
?)你必须导入java.util.Collections
-或使用java.util.
限定集合
。