这篇文章帮你使用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"获取答案

Java入门系列-07-从控制台中接收输入的更多相关文章

  1. Java入门系列-20-异常

    为什么要进行异常处理 下面这段代码能否正常执行 public class DemoCalc { public static void main(String[] args) { int a=0; in ...

  2. Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和性能分析)

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  3. JAVA入门基础及流程控制

    JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...

  4. Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

    概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...

  5. Java入门系列-10-数组

    这篇文章为你搞懂2个问题 1.什么是数组,数组是干嘛用的? 2.数组如何使用? 考试结束后,老师给二狗安排了一项任务,统计班里40名同学的平均分.按照我们之前的做法,我们可以定义40个变量然后再相加除 ...

  6. 【转】 Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

    概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...

  7. Java入门系列之集合HashMap源码分析(十四)

    前言 我们知道在Java 8中对于HashMap引入了红黑树从而提高操作性能,由于在上一节我们已经通过图解方式分析了红黑树原理,所以在接下来我们将更多精力投入到解析原理而不是算法本身,HashMap在 ...

  8. Java入门系列之集合Hashtable源码分析(十一)

    前言 上一节我们实现了散列算法并对冲突解决我们使用了开放地址法和链地址法两种方式,本节我们来详细分析源码,看看源码中对于冲突是使用的哪一种方式以及对比我们所实现的,有哪些可以进行改造的地方. Hash ...

  9. java io系列07之 FileInputStream和FileOutputStream

    本章介绍FileInputStream 和 FileOutputStream 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_07.html File ...

随机推荐

  1. C#7.0连接MySQL8.0数据库的小笔记

    1.要连接MySql数据库必须首先下载MySql官方的连接.net的文件,文件下载地址为https://dev.mysql.com/downloads/connector/net/6.6.html#d ...

  2. 类的互相包含------新标准c++程序设计

    #include<iostream> using namespace std; class A; class B{ public: void f(A* pt){}; } class A{ ...

  3. JDK、JRE、JVM三者关系

    一.JDK.JRE.JVM三者的关系 JDK包含了JRE和JVM,JRE包含了JVM,其中JRE中没有javac 附一张官网的详细图: 二.RIA RIA(富客户端):能完成浏览器无法完成的功能,它是 ...

  4. (获取qq群成员信息,并下载头像,每个群保存一个文件夹)

    # 1.获取到自己qq里面所有的群,并且保存每个群里面的群成员信息到mongodb里面# 下载每个群的群成员的头像# 1.抓包,抓到获取自己所有qq群的接口 requests模块 https://qu ...

  5. uoj #298. 【CTSC2017】网络

    #298. [CTSC2017]网络 一个一般的网络系统可以被描述成一张无向连通图.图上的每个节点为一个服务器,连接服务器与服务器的数据线则看作图上的一条边,边权为该数据线的长度.两个服务器之间的通讯 ...

  6. docker镜像的创建

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 昨天讲解了docker的安装与基本使用,今天给大家讲解下docker镜像的创建的方法,以及push到Docker Hub docker安装请点击右 ...

  7. MongoDB集群配置笔记

    firewall-cmd --query-port=27017/tcp yum install system-config-firewall-tui firewall-cmd --zone=publi ...

  8. 190310HTML&CSS&JS

    一.HTML 1.web server import socket def handle_request(client): buf = client.recv(1024) client.send(by ...

  9. 浅谈PHP的Public、Protected、Private三种方法的区别

    public:权限是最大的,可以内部调用,实例调用等.protected: 受保护类型,用于本类和继承类调用.private: 私有类型,只有在本类中使用. <?php error_report ...

  10. php中的静态方法实例理解

    <?php header("content-type:text/html;charset=utf-8"); class Human{ static public $name ...