这篇文章帮你使用Scanner类从控制台接收输入

从控制台接收字符串

敲一敲:

import java.util.Scanner;

public class DemoScanner {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入用户名:");
        String name=input.next();
        System.out.println("你的名字:"+name);
    }
}

当控制台提示请输入用户名后我们输入内容,回车后看到效果

这里用到了 Scanner 这个类,要想使用这个类,需要在 public class .... 的上面加上 import java.util.Scanner; 之后我们才能使用,在上面的代码中我们能看出 input.next() 的结果赋值给了一个 String 类型的变量, input.next() 就是用来从控制台中接收字符串的。

接收int数据

敲一敲:

import java.util.Scanner;

public class DemoInputInt {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入年龄:");
        int age=input.nextInt();
        System.out.println("你的年龄:"+age);
    }
}

但是注意输入的时候不要输入非法字符,否则将会在输入后像下面一样

请输入年龄:
s
Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:860)
    at java.base/java.util.Scanner.next(Scanner.java:1497)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2161)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2115)
    at DemoInputInt.main(DemoInputInt.java:7)

输入小数也是不可以的!

请输入年龄:
33.3
Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:860)
    at java.base/java.util.Scanner.next(Scanner.java:1497)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2161)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2115)
    at DemoInputInt.main(DemoInputInt.java:7)

接收 double 数据

敲一敲:

import java.util.Scanner;

public class DemoInputDouble {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("输入存款金额:");
        double money=input.nextDouble();
        System.out.println("存款金额为:"+(money/10000)+" 万");
    }
}

运行:

输入存款金额:
83732
存款金额为:8.3732 万

试一试

  1. 通过扫描器在控制台中输入个人信息,做一个自我介绍
    
    您的姓名:
    极客大全
    您的年龄:
    1
    一句话描述自己:
    用极客精神改变生活

姓名:极客大全
年龄:1
描述:用极客精神改变生活



搜索关注公众号「享智同行」,第一时间获取技术干货 回复"007"获取答案