Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hasNext()方法混淆_Java_Oop_Io - Fatal编程技术网

Java hasNext()方法混淆

Java hasNext()方法混淆,java,oop,io,Java,Oop,Io,我似乎无法让for循环用特定的文本行填充字符串数组。为清楚起见:inputFile是我在中读取的一个文件,看起来有点像: 3 Bob 121 124 124 Susan 454 241 524 Richie 789 124 547 Bob Susan Richie 3表示文件中有多少“学生”,而我的起始值是1而不是0 actualFile是我想要存储各种名称的字符串数组。 这是我的密码 注意:我不想为此使用数组列表。只是数组 for (int z = 1; inputFile

我似乎无法让for循环用特定的文本行填充字符串数组。为清楚起见:inputFile是我在中读取的一个文件,看起来有点像:

3
Bob
121
124
124 
Susan
454
241
524
Richie
789 
124 
547 
Bob
Susan
Richie
3表示文件中有多少“学生”,而我的起始值是1而不是0

actualFile是我想要存储各种名称的字符串数组。 这是我的密码

注意:我不想为此使用数组列表。只是数组

    for (int z = 1; inputFile.hasNext(); z = z +3) {
    actualFile(z) = actualFile +  "\n" + inputFile;
    }
    System.out.println(actualFile);
我希望最终输出如下所示:

3
Bob
121
124
124 
Susan
454
241
524
Richie
789 
124 
547 
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); 

我猜是这样的。我不知道为什么不使用
ArrayList

int maxZ = inputFile.nextInt(), z = 0;

while(inputFile.hasNext()){
  if(!inputFile.hasNextInt()){
    if(z < maxZ){
        actualFile[z] = inputFile.next();
        z++;
    }
  }
  else inputFile.next();
}

for(int i = 0; i < actualFile.length; i++){
    System.out.println(actualFile[i]);
}
int maxZ=inputFile.nextInt(),z=0;
while(inputFile.hasNext()){
如果(!inputFile.hasNextInt()){
if(z
注意:这是一种糟糕的方法,几乎总是会导致异常,这就是为什么
ArrayList
在这里会更好


您不能像正在尝试的那样打印数组。您必须循环打印每个元素。

您对Java语法和数组了解多少?@SotiriousDelimanlois我只是个初学者。有可能我在这里遗漏了一些我已经知道的非常简单的东西。你认为
actualFile(z)=
有什么作用?你为什么这么认为?我相信
actualFile(z)
表示根据for循环的增量将信息存储到右侧。我认为这是因为它在matlab中就是这样工作的。这感觉像是一个作业?无论如何,问题到底是什么?除非actualFile()恰好是某个方法,否则actualFile(z)不是有效语法。实际文件[z]可能是您的意思。提供更多关于您遇到了什么问题的详细信息。(你的产出是多少?)