Scanner 就是用来接收用户输入的数据
下图中用到的hasNext()是用来输出用户输出的数据,但是如果文字被加空格的话没办法识别,就不能进行输出,所以我们要用到下方的这个hasNextLine()
public static void main(String[] args){
//创建一个扫描器,用于扫描器接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收: ");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//用next的方式输入
String str = scanner.next();
System.out.println("输出的内容:“+str);
scanner.close(); //凡是属于IO流的如果不关闭就要占用资源,所以一定要关闭
}
}
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("输入这个部分");
//判断是否还有输入
if (scanner.hasNextLine()) {
String str = scanner.nextLine();
System.out.println("输出的内容为:" + str);
}
scanner.close();
}
其中不论是hasNext 和hasNextLine,作为类的变量可以进行数据类型的转换
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int a = 0;
float b = 0.0f;
System.out.println("请输入整数:”);
if (scanner.hasNextInt()){
a = scanner.nextInt();
System.out.println("输入的整数为:" + a);
}else{
System.out.println("输入的不是整数");
}
System.out.println("请输入小数:");
if (scanner.hasNextFloat()){
b = scanner.nextFloat();
System.out.println("输入的小数为:" + b);
}else {
System.out.println("输入的不是小数");
}
scanner.close();
}