Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将包含字符串和整数的文件中的数据放入数组/如何比较数组?_Java_Arrays - Fatal编程技术网

Java 如何将包含字符串和整数的文件中的数据放入数组/如何比较数组?

Java 如何将包含字符串和整数的文件中的数据放入数组/如何比较数组?,java,arrays,Java,Arrays,我有点困惑,正在寻找实现目标的方向。我想读一个文件,上面有一个迷你高尔夫球员的名字,他们的年龄,以及他们打9洞的得分。然后我想用他们的年龄来找出每个洞的平均值。如果是年轻球员,PAR得分更高 我的输入文件是practice.txt,包含以下内容: 周杰伦57 4 3 2 3 5 3 3 4 格洛里亚3943435 曼尼14 5 6 4 6 5 6 4 6 乔398876757 球员的年龄由第二个数字表示,例如:曼尼14岁 我把PAR得分信息放在一个2D数组中。但是,我不知道如何将2D数字数组与字

我有点困惑,正在寻找实现目标的方向。我想读一个文件,上面有一个迷你高尔夫球员的名字,他们的年龄,以及他们打9洞的得分。然后我想用他们的年龄来找出每个洞的平均值。如果是年轻球员,PAR得分更高

我的输入文件是practice.txt,包含以下内容:

周杰伦57 4 3 2 3 5 3 3 4

格洛里亚3943435

曼尼14 5 6 4 6 5 6 4 6

乔398876757

球员的年龄由第二个数字表示,例如:曼尼14岁

我把PAR得分信息放在一个2D数组中。但是,我不知道如何将2D数字数组与字符串数组列表进行比较?我可以用什么方法来解决这个问题,或者我应该用什么方法来解决这个问题?这是我到目前为止所拥有的

import java.io.File;
import java.util.Scanner;
import java.util.List;
import java.io.FileNotFoundException;
import java.util.ArrayList;

public class imTryingHere {
 public static void main (String[] args) throws FileNotFoundException
  {

     int [][] ageGroups = 
    {
       {4},
       {7},
       {11},
       {15},
       {100},
    };

    int[][] holePars=
    {
      {8,8,9,7,5,7,8,5,8},
      {7,7,8,6,5,6,7,5,6},
      {6,5,6,5,4,5,5,4,5},
      {5,4,4,4,3,4,3,3,4},
      {4,3,3,3,2,3,2,3,3},
   };


    // Read in file

    File inputFile = new File ("practice.txt");
    Scanner golfScores = new Scanner (inputFile);

    // Create file into an Array of data. 

    ArrayList<String> list = new ArrayList<String>();
    while (golfScores.hasNext())
    {
      list.add(golfScores.next());
    }
    System.out.println(list);

  }
}
我应该尝试将字符串转换为整数,或者如何将文件中的数据放入整数数组?或者我根本不应该为数据文件使用数组?我什么都准备好了:

注意:我对Java非常陌生,你可能会说,所以请尝试使用初学者的概念。另外,我们还没有学习BufferedReader,所以不需要它,try-catch也不需要


编辑:理想情况下,我正在寻找一种方法,将文件中的数据放入一个既有字符串又有数字的数组中

单个数组不能同时包含字符串和数字

你可以有多个数组,一个用于姓名和年龄,一个用于分数的二维数组


不是从文件中一次读取一个单词,而是一次读取一行,然后将该行拆分为姓名、年龄和分数。

在代码中,您一次读取一个输入单词,并将所有单词放入一个数组中。我不明白你为什么要这样做

相反,将它们放入不同的数组中,例如,第一个值放入名称数组,第二个值放入年龄数组,等等

name[ i ] = golfScores.next();
age[ i] = golfScores.nextInt();
for (j=0; j<9;j++)
    scores[i][j] = golfScores.nextInt();

您可以像这样将字符串转换为整数:int n=Integer.parseInts,如果s是字符串,我建议尝试另一种方法。使用这样的数组会使代码变得非常不可读和混乱。可以考虑使用哈希图和/或数据类。java也是一种面向对象语言。您应该使用对象和类。您对问题的描述表明您应该有一个列表和一个列表。如何解析整个字符串数组@DUmanAn对象数组可以同时包含整数和字符串,但如何在读取文件时将数据放入三个不同的数组中呢?一个代表姓名、年龄和分数。