nextInt()方法会读取下一个int型标志的token.但是焦点不会移动到下一行,仍然处在这一行上。当使用nextLine()方法时会读取改行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头。所以这样就无法接收到下一行输入的String类型的变量。

java.util.Scanner.nextLine() 方法,此scanner执行当前行,并返回跳过的输入信息。此方法返回当前行的其余部分,不包括任何行分隔符结尾。的位置设置到下一行的开头。因为这种方法会继续在输入信息中查找行分隔符,它可能会缓冲所有输入的搜索行跳过,如果没有行分隔符都存在。

package com.yiibai;

import java.util.*;

public class ScannerDemo {

public static void main(String[] args) {

String s = "Hello World!
3 + 3.0 = 6.0 true ";

// create a new scanner with the specified String Object
Scanner scanner = new Scanner(s);

// print the next line
System.out.println("" + scanner.nextLine());

// print the next line again
System.out.println("" + scanner.nextLine());

// close the scanner
scanner.close();
}
}