next(),nextLine(),nextInt()都为scanner的内置用法,在此总结他们的区别和作用。
他们的不同之处在于对空格的处理以及返回值的不同。
- next( )
该方法将空格看作两个字符串之间的间隔,返回值为String类型:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
while (sc.hasNext()){
System.out.println("next()方法输出为:");
String str1 = sc.next();
System.out.println(str1);
}
}
其输出为:
- nextLine( )
该方法将空格看作字符串的一部分,返回时作为String类型一并返回。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
while (sc.hasNext()){
System.out.println("nextLine()方法输出为:");
String str1 = sc.nextLine();
System.out.println(str1);
}
}
其输出为:
- nextInt( )
该方法与 next() 方法类似,将空格看作两个字符串之间的间隔,但其返回值为int类型,即使用该方法时只能输入int类型的数据。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
while (sc.hasNext()){
System.out.println("nextInt()方法输出为:");
int n = sc.nextInt();
System.out.println(n);
}
}
其输出为: