java - 将 for 循环的数组结果保存到变量

标签 java arrays average

我有一个作业,我应该在一个整数数组中有 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/

相关文章:

java - 我在 Android Studio 上以 XML 形式实现了卡片 View 。我怎样才能把它当作按钮呢?

java - 导入文件夹中更上方的 Java 类

java - 无法实例化 RegionFactory [org.hibernate.cache.ehcache.EhCacheRegionFactory]

mysql - 如何查询多行的平均时差?

java - 使我的变量显示正确的小数位

c# - 如何获取列表中字符串的平均出现次数

Java流如何在List的嵌套List中添加值

arrays - 整数与 boolean 数组 Swift 性能

javascript - 从 JSON 创建 jQuery 数组

c - 警告参数名称 [当我尝试加载数组时