Java入门系列-07-从控制台中接收输入

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

原文地址:https://www.cnblogs.com/AIThink/p/9648600.html

时间: 2024-11-09 20:07:44

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

Java入门系列-20-异常

为什么要进行异常处理 下面这段代码能否正常执行 public class DemoCalc { public static void main(String[] args) { int a=0; int b=0; int c=a/b; System.out.println("运算结果为:"+c); } } 结果是我们在控制台中看到一段错误提示,那是因为除数不能为0.异常就是在程序运行过程中发生的不正常事件,会中断运行的程序. Java 使用了异常处理机制为程序提供了错误处理的能力,在程

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

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和

java io系列07之 FileInputStream和FileOutputStream

本章介绍FileInputStream 和 FileOutputStream 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_07.html FileInputStream 和 FileOutputStream 介绍 FileInputStream 是文件输入流,它继承于InputStream.通常,我们使用FileInputStream从某个文件中获得输入字节.FileOutputStream 是文件输出流,它继承于OutputStream.通

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

概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它.内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308852.html 第1部分 Stack介绍 Stack简介 Stack是栈.它的

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

概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它.内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308852.html 第1部分 Stack介绍 Stack简介 Stack是栈.它的

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

前言 上一节我们实现了散列算法并对冲突解决我们使用了开放地址法和链地址法两种方式,本节我们来详细分析源码,看看源码中对于冲突是使用的哪一种方式以及对比我们所实现的,有哪些可以进行改造的地方. Hashtable源码分析 我们通过在控制台中实例化Hashtable并添加键值对实例代码来分析背后究竟做了哪些操作,如下: public static void main(String[] args) { Hashtable hashtable = new Hashtable(); hashtable.p

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

前言 我们知道在Java 8中对于HashMap引入了红黑树从而提高操作性能,由于在上一节我们已经通过图解方式分析了红黑树原理,所以在接下来我们将更多精力投入到解析原理而不是算法本身,HashMap在Java中是使用比较频繁的键值对数据类型,所以我们非常有必要详细去分析背后的具体实现原理,无论是C#还是Java原理解析,从不打算一行行代码解释,我认为最重要的是设计思路,重要的地方可能会多啰嗦两句. HashMap原理分析 我们由浅入深,循序渐进,首先了解下在HashMap中定义的几个属性,稍后会

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

http://www.cnblogs.com/skywang12345/p/3308852.html 概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它.内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例 转载请注明出处:http://www.cnblogs.com/skywang1

Java入门系列-12-成员方法

类的方法 无参方法 语法: public 返回值类型 方法名(参数列表){ //方法的主体 } 敲一敲:无返回值方法 public void sayHi(){ System.out.println("你好"); } 没有返回值返回值类型为 void ,上例中是无返回值.如果方法中有返回值,方法中必须使用关键之 return 返回该值,返回值类型为该返回值的类型. 敲一敲:有返回值方法 public class Student { String name; int age; /** *