java - 将 "tokens"添加到数组

标签 java arrays

我正在尝试找出一个作业,如何从 txt 文件中获取标记(这些标记是一组没有空格分隔的字母/数字)并将它们添加到数组中。

我的数组是这样设置的

private String[] arrayOfTokens;

txt 文件的内容如下

10 tewnty 30.5 star-fish -5
1 two 3
4 five 6 seven
jello 9 hike 5
10 9 8 7 6 5 4 3 2 1

需要明确的是,第一行将有 5 个标记(“10”、“20”、“30.5”、“star-fish”和“-5”),第二行将有 3 个标记(“1”、 “二”和“三”)

然而,让我失望的一件事是它说的是......“第一个文本行将导致五个标记存储在位置 [0][0], [0][1] , [0 ][2] 、 [0][3] 和 [0][4]。第二个文本行将导致三个标记存储在位置 [1][0]、[1][1] 和 [ 1][2]。”。它只说我需要一个数组,所以我不确定那是什么。

我只是在网上搜索了一些东西,但我发现的只是将整个 txt 文件放入一个数组中。我只是想添加 token 。有人有什么可以让我走上正轨的吗?

最佳答案

可以使用锯齿数组来解决这个问题。交错数组是一种数组,其元素是数组,但可以具有不同的维度和大小。这是您可以尝试的代码:

int numberOfLineOfTheFile;  /* put the number of line of your file here */
String[][] tokens = new String[numberOfLineOfTheFile][];
String[] arrayOfTokens;

try (BufferedReader br = new BufferedReader(new FileReader(file))) {
    String line;
    int i = 0;
    while ((line = br.readLine()) != null) {
       arrayOfTokens = line.split(" ");
       tokens[i++] = arrayOfTokens;
    }
}

关于java - 将 "tokens"添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43564423/

相关文章:

java - 为什么 GridLayout 中的 ImageButton 会超出屏幕?

java - 在一个对象中存储多个数据值的更好方法是什么?

Java 在一个 Jframe 中获取输入字符串并在另一个 Jframe 中显示

java - 基于鼠标移动旋转四元数(OpenGL 和 Java)

javascript - 从 AngularJS 中的对象访问所有嵌套值的最快方法

php - 如何合并数组并保留键?

java - 哪个快 : store 10^5 size array in android app and search in it or fire queries of search and get data from database

c - 发送 uint8_t 且接收的值与客户端服务器 C 程序中的值不匹配

java - java打印时如何调整页面宽度

java - 在 Ubuntu 上从 CMD 安装 Groovy 后未链接的 java jar