我有一个作业,我应该在一个整数数组中有 6 个元素,程序应该找到数组中的最高和最低元素,并忽略这两个元素,并找到剩余四个元素的平均值。到目前为止,我的程序能够找到该数组中的最低和最高数字并能够忽略它,但是,我似乎无法将循环中的这些结果保存到一个变量中,这样我就可以开始计算我的平均值了。代码是
int bucky[] = { 4, 6, 8, 19, 199, 400 };
int hello = 0;
int max = 0;
for (int i = 0; i < bucky.length; i++) {
if (bucky[i] > max) {
max = bucky[i];
}
}
System.out.println("Max number is " + max);
int min = 0;
int j = 1;
for (int i = 0; i < bucky.length; i++) {
if (bucky[i] < bucky[j]) {
min = bucky[i];
j = i;
}
}
System.out.println("min number is " + min);
System.out.print("{");
for (int i = 0; i < bucky.length; i++) {
if (bucky[i] != max) {
if (bucky[i] != min) {
System.out.print(" " + bucky[i]);
}
}
}
System.out.print("}");
到目前为止,它打印出 {6 8 19 199}
。我希望能够将它们保存在一个变量中并计算平均值。任何帮助将不胜感激。
最佳答案
这是一个可能实现您所追求的目标的简单程序。
如果所有元素都具有相同的值会怎样?
int[] input = {0,1,2,3,4,5};
int max = input[0];
int min = input[0];
int sum = 0;
for(int i : input){
sum += i;
if(i < min){
min = i;
}else if(i > max){
max = i;
}
}
System.out.println("sum for input is : " + sum);
System.out.println("highest value element is : " + max);
System.out.println("lowest value element is : " + min);
System.out.println("sum excluding extreme elements is : " + (sum - min -max));
// have cast the result as a float as i dont know if average should be truncated or not
System.out.println("average excluding extreme elements is : " + ((float)(sum - min -max)/(input.length-2)));
关于java - 将 for 循环的数组结果保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20603523/