这篇文章帮你使用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. @html.dropdown用法

    controller1 List<SelectListItem> itemList = new List<SelectListItem>() { "}, " ...

  2. C#设计模式系列:适配器模式(Adapter Pattern)

    一.引言 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用.但是新环境要求的接口是这些现存对象所不满足的.如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同 ...

  3. FTP文件上传以及获取ftp配置帮助类

    帮助类: using QSProjectBase; using Reform.CommonLib; using System; using System.Collections.Generic; us ...

  4. 死磕Java之聊聊LinkedList源码(基于JDK1.8)

    工作快一年了,近期打算研究一下JDK的源码,也就因此有了死磕java系列 LinkedList 是一个继承于AbstractSequentialList的双向链表,链表不需要capacity的设定,它 ...

  5. 指针和动态分配内存 (不定长度数组)------新标准c++程序设计

    背景: 数组的长度是定义好的,在整个程序中固定不变.c++不允许定义元素个数不确定的数组.例如: int n; int a[n]; //这种定义是不允许的 但是在实际编程中,往往会出现要处理的数据数量 ...

  6. RESTful API概念解析

    什么是restful? REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”. ...

  7. #首行输入数n,接下来输入n行数,以空格隔开

    #首行输入数n,接下来输入n行数,以空格隔开 n = int(raw_input())# print nL = []for i in range(n): L.append([int(x) for x ...

  8. 将0移到最后,在原数组操作,并且不能改变源数据顺序(JS编程)

    一.问题描述: 将0移到最后,在原数组操作,并且不能改变源数据顺序. 示例:输入:[2,0,0,1,0,3],  结果:[2,1,3,0,0,0] 二.问题分析与解决: 注意是在原数组上操作,不要进行 ...

  9. Python博文列表

    手把手|100行Python代码自动抢火车票!(包教包会):https://zhuanlan.zhihu.com/p/32928355 最全中华古诗词数据库, :https://github.com/ ...

  10. ansible基本模块-command