java - 从 Double ArrayList 更改为 Integer ArrayList

标签 java arraylist integer double

在下面的程序中,我编写了一个程序,该程序读取 5 个学生姓名,以及每个学生的 5 个测验的分数。我已将名称加载到 String 类型的 ArrayList 中,并将测验标记加载到 Double 类型的 ArrayList 中。但是我需要将这些测验标记加载到一个整数中,我不确定如何更改它

import java.util.Scanner;
import java.util.ArrayList;
public class onemoretime 
{
    public static final double MAX_SCORE = 15 ;
    public static final int NAMELIMIT = 5;
    public static void main(String[] args) 
    {
        ArrayList<String> names = new ArrayList<>();
        ArrayList<Double> averages = new ArrayList<>();  //line that needs to become a Integer ArrayList
        Scanner in = new Scanner(System.in);
        for (int i = 0; i < NAMELIMIT; i++)
    {
        String line = in.nextLine();
        String[] words = line.split(" ");
        String name = words[0] + " " + words[1];
        double average = findAverage(words[2], words[3], words[4], words[5], words[6]);
        System.out.println("Name: " + name + "   Quiz Avg: " + average);

        names.add(name);
        averages.add(average);
    }
  }

 public static double findAverage(String a, String b, String c, String d, String e)
 {
    double sum = Double.parseDouble(a) + Double.parseDouble(b) + Double.parseDouble(c) + Double.parseDouble(d) + Double.parseDouble(e);
return (sum / NAMELIMIT);
  }
}

对于输入:

Sally Mae 90 80 45 60 75
Charlotte Tea 60 75 80 90 70
Oliver Cats 55 65 76 90 80
Milo Peet 90 95 85 75 80
Gavin Brown 45 65 75 55 80

我得到了正确的输出

Name: Sally Mae   Quiz Avg: 70.0
Name: Charlotte Tea   Quiz Avg: 75.0
Name: Oliver Cats   Quiz Avg: 73.2
Name: Milo Peet   Quiz Avg: 85.0
Name: Gavin Brown   Quiz Avg: 64.0

最佳答案

是这样的吗?

  List<Double> dValues = new ArrayList<>();
  // not shown: add your double values to the dValues list
  List<Integer> iValues =  dValues.stream()
      .map(p -> p.intValue())
      .collect(Collectors.toList());
  // or the equivalent
  //  List<Integer> iValues = dValues.stream()
  //      .map(Double::intValue)
  //      .collect(Collectors.toList()); 

注意:intValue() 方法可能不会像您期望的那样进行舍入,因此您可能需要对 lambda 的那部分进行更深入的研究。

关于java - 从 Double ArrayList 更改为 Integer ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38403005/

相关文章:

java - 实例变量值未打印

java - 安卓/Java : why does my ConstraintLayout leak?

Java 1.7,时钟格式不起作用

python - 值错误 : could not convert string to float: '" "'

php - 在 php 中使用数组查找百分位数

java - java中使用字符串跳出循环

java - 访问 ARFF 中的类标签

java - 需要从js发送json数据到java

Java 重用列表来填充 HashMap 的问题

java - 将对象的信息传递给另一个 Activity