Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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 Scanner类正在跳过行_Java - Fatal编程技术网

Java Scanner类正在跳过行

Java Scanner类正在跳过行,java,Java,我是编程新手,我的扫描器课程有问题。这段代码是在一个循环中,当第二个、第三个循环出现时,无论何时设置它,它都会跳过第一个标题输入。 我需要帮助,为什么它在开始时跳过我的标题扫描输入 System.out.println("Title:"); list[i].title=keyboard.nextLine(); System.out.println("Author:"); list[i].author=keyboard.nextLine(); System.out.println("Alb

我是编程新手,我的扫描器课程有问题。这段代码是在一个循环中,当第二个、第三个循环出现时,无论何时设置它,它都会跳过第一个标题输入。 我需要帮助,为什么它在开始时跳过我的标题扫描输入

System.out.println("Title:");

list[i].title=keyboard.nextLine();

System.out.println("Author:");

list[i].author=keyboard.nextLine();

System.out.println("Album:");

list[i].album=keyboard.nextLine();

System.out.println("Filename:");

list[i].filename=keyboard.nextLine();

很可能,在您没有向我们展示的代码中,存在对
Scanner
输入方法之一的调用,该方法不使用换行符方法<例如,代码>下一行。在本例中,换行符将从循环末尾传递到后续的
nextLine
语句。这将不会阻止接收到输入。解决方案是确保在每次迭代结束时使用换行符

// list[i].id = keyboard.nextInt();
list[i].id = Integer.parseInt(keyboard.nextLine());

你能发布完整的代码吗?你说的“跳过”是什么意思?这个代码驻留在哪里?给我们一点显示问题的运行时间。是的,你是对的,这只是代码的一部分!代码的最后一行是nextInt();我学到的是,当你有一行扫描仪时,例如,我学到的是当你有一行扫描仪时,例如keyboard.nextLine();然后是键盘。nextInt();计算机以字符串形式存储扫描的内容,并为下一次迭代做好准备,但在以Int形式扫描之后,计算机直到nextLine语句才完成迭代。因此,每当有一个Int时,在您可以在扫描器中输入下一条信息之前,都需要将其下一行。字符串不需要下一行,而是自动执行。