Scanner类是用于键盘输入,在使用的时候需要导入java.util.Scanner包。以下列举常用的几种键盘输入的方法:
方法 | 描述 |
nextBoolean() | 将输入的下一个标记扫描为布尔值,并返回该值 |
nextByte() | 将输入的下一个标记扫描为byte |
nextDouble() | 将输入的下一个标记扫描为double |
nextFloat | 将输入的下一个标记扫描为float |
nextInt() | 将输入的下一个标记扫描为int |
nextLine() | 将此扫描仪推进到当前行并返回跳过的输入 |
nextLong() | 将输入的下一个标记扫描为long |
nextShort() | 将输入的下一个标记扫描为short |
next() | 查找并返回此扫描仪的下一个完整令牌 |
其中,next()和nextLine()的返回值都是string类型。两者在使用的时候会存在一下缺点:
nextLine()的缺点: 1)nextLine()方法前面不能出现其他的键盘输入方法 2)nextLine()方法前面可以有一个nextLine()方法 next()的缺点: 不能接受空格和回车
nextLine():
package com.itheima;
import java.util.Scanner;
public class Test {
// nextLine()的缺点:
// nextLine()方法前面不能出现其他的键盘输入方法
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数:");
int num=scanner.nextInt();
System.out.println(num);
System.out.println("请输入一个字符串:");
String s=scanner.nextLine();
System.out.println(s);
}
}
但是nextLine()前面如果还是一个nextLint()方法,则输出正常
package com.itheima;
import java.util.Scanner;
public class Test {
// nextLine()的缺点:
// nextLine()方法前面不能出现其他的键盘输入方法
// nextLine()前面可以在有一个nextLine()
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String num=scanner.nextLine();
System.out.println(num);
System.out.println("请输入一个字符串:");
String s=scanner.nextLine();
System.out.println(s);
}
}
next():
package com.itheima;
import java.util.Scanner;
public class Test {
// next()的缺点:
// 不能接受空格和回车
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String num=scanner.next();
System.out.println(num);
}
}