【发布时间】:2015-11-23 22:20:35
【问题描述】:
我似乎无法让我的 for 循环使用某些文本行填充字符串数组。为清楚起见:inputFile 是我读过的一个文件,看起来有点像这样:
3
Bob
121
124
124
Susan
454
241
524
Richie
789
124
547
3 表示文件中有多少“学生”,而我的起始值是 1 而不是 0。
actualFile 是我想要存储各种名称的字符串数组。 这是我的代码。
注意:我不想为此使用数组列表。只是数组。
for (int z = 1; inputFile.hasNext(); z = z +3) {
actualFile(z) = actualFile + "\n" + inputFile;
}
System.out.println(actualFile);
我希望最终输出看起来像这样:
Bob
Susan
Richie
编辑对 Jordon Johns 的回放: 我没有得到任何带有固定代码的输出:
String [] actualFile = new String [50];
for (int z = 1; inputFile.hasNext(); z = z +3) {
actualFile[z]= actualFile + "\n" + inputFile;
}
System.out.println(actualFile);
我收到错误消息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 52
inputFile 是我这样准备的文件:
System.out.print("Enter file name: ");
String userFile = in.nextLine();
File file = new File(userFile);
Scanner inputFile = new Scanner(file);
【问题讨论】:
-
你对Java语法和数组了解多少?
-
@SotiriousDelimanlois 我只是一个初学者。我可能只是在这里遗漏了一些我已经知道的非常简单的东西。
-
你认为
actualFile(z) =做了什么,你为什么这么认为? -
我相信
actualFile(z)说根据for循环打开的增量将信息存储到右侧。我认为这是因为它在 matlab 中是这样工作的。 -
这感觉像是一项任务?无论如何,究竟是什么问题?除非 actualFile() 恰好是某种方法,否则 actualFile(z) 不是有效的语法。 actualFile[z] 可能是您的意思。提供更多关于你卡住的细节。 (你的输出是什么?)