将字符串数组中的数字转换为二维int数组

时间:2017-09-26 18:10:55

标签: java arrays string multidimensional-array type-conversion

我正在从包含以下信息的文本文件中获取数据:

Jessica 80 90
Peter 106 50
Lucas 20 85
Sarah 90 40
John 35 12

然后将此数据转换为String数组并由我的代码输出。我希望能够将名称保存在我的字符串数组中,同时将数字转换为int [] []数组,以便我可以操作变量来查找学生和考试的平均值。我的工作代码如下:

import java.io.*;
import java.util.*;

public class Array_2D{

public static String[] readLines(String filename) throws IOException {
        FileReader fileReader = new FileReader(filename);

        BufferedReader bufferedReader = new BufferedReader(fileReader);
        List<String> lines = new ArrayList<String>();
        String line = null;

        while ((line = bufferedReader.readLine()) != null) {
            lines.add(line);
        }

        bufferedReader.close();

        return lines.toArray(new String[lines.size()]);
}   

public static void inputstream() throws IOException {
       String filename = "data.txt";
       try {
           String[] lines = readLines(filename);
           for (String line : lines)
           {
               System.out.println(line);
           }
       } catch(IOException e) {
           System.out.println("Unable to create " + filename+ ": " + e.getMessage());
       }

有没有人有任何信息可以帮助我将数字从字符串数组转换为int[][],以便我可以按列和行操作数字?谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

在你的代码中,每一行包含一个名称和两个整数, 这可能不是通用的,但尝试类似的东西,

&#13;
&#13;
String names = new String[numberOfLines];
int scores[][] = new int[numberofLines][2];
for(int i = 0;i < numberOfLines;i ++){
  String words[] = lines[i].split("\\s+");
  names[i] = words[0];
  scores[i][0] = Integer.parseInt(words[1]);
  scores[i][1] = Integer.parseInt(words[2]);
}
&#13;
&#13;
&#13;