我需要在一个文本文件中获取一个由三行组成的数组,并根据Java中的第一行对它们进行排序
我需要在一个文本文件中获取一个由三行组成的数组,并根据Java中的第一行对它们进行排序。我还需要处理这个,然后打印到屏幕上 我有一个测试文件,其格式如下:我需要在一个文本文件中获取一个由三行组成的数组,并根据Java中的第一行对它们进行排序,java,arrays,Java,Arrays,我需要在一个文本文件中获取一个由三行组成的数组,并根据Java中的第一行对它们进行排序。我还需要处理这个,然后打印到屏幕上 我有一个测试文件,其格式如下: 10 Michael Jackson 12 Richard Woolsey String str; i = 0; j = 0; while ((str = in.readLine()) != null) { array[i][j] = str; j++; if (j
10
Michael
Jackson
12
Richard
Woolsey
String str;
i = 0;
j = 0;
while ((str = in.readLine()) != null) {
array[i][j] = str;
j++;
if (j == 3){
j = 0;
i++;
}
}
in.close();
我需要从一个文本文件中输入这个,然后根据与名称相关联的数字重新排列它。此时,我需要使用一个随机数生成器,并根据随机数为每个名称分配一个变量。然后我需要以不同的格式打印以筛选我添加的变量和名称。以下是一个输出示例:
12:
Woolsey, Richard
Variable assigned
10:
Jackson, Michael
Other variable assigned
我非常感谢你的帮助。我这样问是因为我真的不知道如何将三行作为一个变量输入,然后在程序中进行操作。
谢谢
科里我不太明白你的问题。除了排序,下面类似的东西可能会有所帮助。请注意,这是一个不完整的解决方案,其中没有存储输入,输出只是打印一次(然后丢弃) 请注意,这不会进行任何排序。看一看那部分的a。您还可以使用
java.util.Scanner
从命令行读取输入(如果它不在文件中)。- 用于从输入中读取行
- 用于生成随机数
- 定义一个
类来封装每个条目的数据条目
- 使用和
- 或者声明并使用
import java.util.*;
import java.io.*;
public class Entry implements Comparable<Entry> {
final int id;
final int whatever;
final String firstName;
final String lastName;
Entry(int id , String firstName, String lastName, int whatever) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.whatever = whatever;
}
@Override public String toString() {
return String.format(
"%d:%n%s, %s%n(%d)%n",
id, lastName, firstName, whatever);
}
@Override public int compareTo(Entry other) {
return
(this.id < other.id) ? +1 :
(this.id > other.id) ? -1 :
0;
}
}
如果sample.txt
包含以下内容:
10
Michael
Jackson
12
Richard
Woolsey
然后,输出可以是:
12:
Woolsey, Richard
(-1279824163)
10:
Jackson, Michael
(320574093)
另见
-
- 一个合适的不可变值类型需要同时覆盖这两个值
- 我看到了你的帖子,我想给你一个快速的答复
查看此链接:
您还应该阅读Java教程
获取每一行后,您可以使用以下内容保存到二维数组中:
10
Michael
Jackson
12
Richard
Woolsey
String str;
i = 0;
j = 0;
while ((str = in.readLine()) != null) {
array[i][j] = str;
j++;
if (j == 3){
j = 0;
i++;
}
}
in.close();
然后,您可以任意使用数组值
祝你好运。我问了一个类似的问题
Scanner+Matcher与适当的正则表达式的组合在提取格式化数据方面非常有效。如果这是一项作业,则应标记为“家庭作业”。我很抱歉。我刚从我的朋友那里被推荐到这个网站。谢谢你的提醒。总的来说,Roseindia会引入一些坏习惯,尤其是在美国。我真的不会把它作为一个权威的来源。