Scanner类中next与nextLine的区别
1. next()方法:
- next()方法用于读取下一个以空白字符(空格、制表符、换行符等)分隔的标记(token)
- 通常用于读取单个单词或单词之间以空格分隔的内容。
- 如果在标记之间有空白字符,将返回第一个标记,并且忽略空白字符。next()
注意事项:
next()
方法不会读取换行符,因此如果你在使用之后立即使用,可能会导致不符合预期的行为
2. nextLine()方法:
- nextLine()方法用于读取当前行的所有内容,包括换行符,直到行尾。
- 通常用于读取整行文本,如句子或文件中的一行。
注意事项:
- nextLine()会将换行符(‘\n’)作为输入的一部分,因此可以用于读取多行文本。
- 使用后,需要小心处理输入中可能存在的空白行。
- 如果在使用之后使用,可以在后使用来清除换行符。
3. 示例
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a word: ");
String word = scanner.next(); // 读取一个单词
System.out.println("Word: " + word);
System.out.print("Enter a line of text: ");
scanner.nextLine(); // 清除换行符
String line = scanner.nextLine(); // 读取整行文本
System.out.println("Line: " + line);
scanner.close();
}
}
在上面的示例中,用于读取单词,用于读取整行文本。注意在读取整行文本前使用了来清除输入缓冲中的换行符