java - 简化 Java 数组和数组列表

标签 java arrays arraylist

我正在尝试摆脱温度的 Arraylist 并仅使用数组。我还想要一种比我正在做的更简单的打印数组的方法。该代码按原样运行。我正在寻找一种更简单的方法。

    public static void main (String [] args) {
        Scanner scnr = new Scanner(System.in);
        ArrayList<Double> temperatures = new ArrayList<>();   


        String[] days = new String[7];

        days[0] = "Monday";
        days[1] = "Tuesday";
        days[2] = "Wednesday";
        days[3] = "Thursday";
        days[4] = "Friday";
        days[5] = "Saturday";
        days[6] = "Sunday";

         for (String day : days) {
             System.out.println("Enter the temperature for: " + day);
             double temp = scnr.nextDouble();
             temperatures.add(temp);
         }

         double sum = 0.0;
         for ( int i = 0; i < temperatures.size(); i++) {
             sum += temperatures.get(i);
         }

         double average = (double) sum / temperatures.size();        


         System.out.print("You entered: ");
         System.out.print(temperatures.get(0));
         System.out.println(" for " + days[0]);



         System.out.printf("The average temperature for the week is: %.2f", average);

    scnr.close();



      return;
   }
}

最佳答案

如果您对 java 8+ 方法感兴趣,(这更可爱:-D);对此有一点尝试。我们正在使用流 API 来执行此操作,您只需很少的代码即可对数组执行更多操作,

    String[] days = { "Monday", "Tuesday", "Wednesday", "Thursday","Friday", "Saturday", "Sunday" };
    ArrayList<Double> temperatures = new ArrayList<>();

    Arrays.stream(days).forEach(day -> {
            System.out.println("Enter the temperature for: " + day);
            double temp = scnr.nextDouble();
            temperatures.add(temp);
        });
    double average = temperatures.stream().reduce(Double::sum).get() / temperatures.size();
    System.out.printf("The average temperature for the week is: %.2f", average);

关于java - 简化 Java 数组和数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46997158/

相关文章:

java - 当我运行 java 应用程序时遇到问题,它无法按我的预期执行

java - 将项目添加到有序集中的数组的问题

php - Postgres 多数组

java - 找出字符串的排列总数

android - 将 ArrayList 写入 SD 卡

java - 数组列表的浅拷贝

java - 主机无法访问 Docker 端口

java - 如何使用java在现有的png图像上绘制一个矩形

java - 调整大小时 JDesktopPane 的内容消失 - Java Swing

C将char数组传递给函数,用另一个char数组计算并复制