【问题标题】:Java: Reading .txt document and having access to the dataJava:读取 .txt 文档并访问数据
【发布时间】:2017-04-02 06:31:10
【问题描述】:

我有一个 .txt 文档,其中包含姓名和有关他们的信息的列表。 我想阅读 .txt 文档并访问数据,然后我想将数据中的信息用于锻炼平均值、最高和最低值。 这是 .txt 文档中的信息。

First Name, Surname, Age, Weight, Height
Tim, Simon, 37, 82, 178
barry, White, 21, 70, 176
Jason, Brink, 19, 67, 165
Caren, Dick, 22, 105, 200
Jackson, Michael, 81, 60, 170
Jerry, Springton, 6, 20, 111

我希望能够根据这些数据计算平均值。 这是我读出数据的方式。

public static void main(String[] args) {

    File file = new File("/Users/Len/Desktop/TextReader/src/example.txt");

    try {
        Scanner input = new Scanner(file);
        while (input.hasNext()) {
        String num = input.nextLine();
        System.out.println(num);
        }


    } catch (FileNotFoundException e) {
        System.err.format("File Does Not Exist\n");
    }
 }

【问题讨论】:

  • 你卡在哪里了?
  • @ModusTollens 我设法读出了数据。逐行打印出来。但我是 Swift 开发者,如何将这些数据添加到数组或字典中进行处理?

标签: java text data-conversion


【解决方案1】:

如果您可以读取数据,那么我不明白使用它进行计算的问题。

假设你在数组中读取上述数据 -

fName[]
lName[]
age[]
widht[]
height[]

那么——

totHeight=0;
for(int height: height)
totHeight+=height;

avgheight=totHeight/totEntry;

【讨论】:

    【解决方案2】:

    首先,您需要扫描各个值。对于一个简单的实现,您可以使用Scanner 类:

     String input = "Tim, Simon, 37, 82, 178";
     Scanner s = new Scanner(input).useDelimiter(", ");
     System.out.println(s.next());
     System.out.println(s.next());
     System.out.println(s.nextInt());
     System.out.println(s.nextInt());
     System.out.println(s.nextInt());
     s.close(); 
    

    接下来,您将要创建一个Person 类来保存每个人的所有数据。见Java Tutorial on classes

    接下来,您将把每个Person 添加到一个集合中,例如ArrayList<Person>

    List<Person> data = new ArrayList<>();
    data.add(new Person(firstname, surname, age, weight, height));
    

    最后,您将遍历集合或使用流来执行聚合数据计算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多