Java 如何将包含字符串和整数的文件中的数据放入数组/如何比较数组?
我有点困惑,正在寻找实现目标的方向。我想读一个文件,上面有一个迷你高尔夫球员的名字,他们的年龄,以及他们打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岁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数字数组与字
我把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对象数组可以同时包含整数和字符串,但如何在读取文件时将数据放入三个不同的数组中呢?一个代表姓名、年龄和分数。