Scanner对象

  • 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。Java.util.ScannerJava5的新特征,我们可以通过Scanner类来获取用户的输入。

  • 基本语法:

 Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()nextLine()方法获取输入的字符串,在读取前我们一般需要用 hasNext()hasNextLine()判断是否还有输入的数据。

    • next():

      • 一定要读到有效字符后才可以结束输入。

      • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。

      • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

      • next()不能得到带有空格的字符串。

       package com.dlq.Scanner;
       ​
       import java.util.Scanner;
       ​
       public class Demo1 {
           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);//hello
              }
               //凡是属于I/O(输入/输出)流的类如果不关闭会一直占用资源,要养成 用完就关 的好习惯!!!
               scanner.close();
          }
       }
       ​
    • nextLine():

      • 以enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

      • 可以获得空白。

       package com.dlq.Scanner;
       ​
       import java.util.Scanner;
       ​
       public class Demo2 {
           public static void main(String[] args) {
               //从键盘接收数据
               Scanner scanner=new Scanner(System.in);
       ​
               System.out.println("使用nextLine方式接收:");
               //判断是否还有输入
               if (scanner.hasNextLine()){
                   String str=scanner.nextLine();
                   System.out.println("输出的内容为:"+str);//hello world
              }
               scanner.close();
          }
       }
       ​
       package com.dlq.Scanner;
       ​
       import java.util.Scanner;
       ​
       public class Demo3 {
           public static void main(String[] args) {
               //从键盘接收数据
               Scanner scanner=new Scanner(System.in);//输入
       ​
               //System.out.println("请输入数据:");
       ​
               String str=scanner.nextLine();//保存
       ​
               System.out.println("输出的内容为:"+str);//hello world   输出
       ​
               scanner.close();//关闭
          }
       ​
       }
       ​
    • next...():学以致用!!!

     package com.dlq.Scanner;
     ​
     import java.util.Scanner;
     ​
     public class Demo4 {
         public static void main(String[] args) {
             Scanner scanner=new Scanner(System.in);
     ​
             //键盘接收数据
             int i=0;
             float f=0.0f;
     ​
             System.out.println("请输入整数:");
             if (scanner.hasNextInt()){
                 i=scanner.nextInt();
                 System.out.println("整数数据:"+i);
            }
             else{
                 System.out.println("非整数数据!");
            }
     ​
             System.out.println("请输入小数:");
     ​
             if (scanner.hasNextFloat()){
                 f=scanner.nextFloat();
                 System.out.println("小数数据:"+f);
            }
             else{
                 System.out.println("非小数数据!");
            }
             scanner.close();
        }
     }
     ​
     package com.dlq.Scanner;
     ​
     import java.util.Scanner;
     ​
     public class Demo5 {
         public static void main(String[] args) {
             //输入多个数字,求他们的总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
             Scanner scanner = new Scanner(System.in);
             //和
             double sum=0;
             //计算输入了多少个数字
             int m=0;
             System.out.println("请输入数据:");
             //通过循环判断是否还有输入,并在循环里对每一次输入进行求和统计
             while (scanner.hasNextDouble()){
                 double x = scanner.nextDouble();
                 m=m+1;//m++
                 sum=sum+x;
                 System.out.println("你输入了"+m+"个数据,当前结果sum="+sum);
            }
             System.out.println(m+"个数字和为:"+sum+"\n"+m+"平均数为:"+sum/m);
     ​
             scanner.close();
        }
     }
     ​

day14-Scanner的更多相关文章

  1. Java输入输出常用类Scanner

    Scaner类,使用获取键盘输入. public boolean DemoTest(){ Scanner input = new Scanner(System.in); System.out.prin ...

  2. Scanner类

    Scanner类:用于获取用户的键盘输入 成员方法: public boolean hasNextXxx():判断是否某种类型的元素 public Xxx nextXxx():获取该元素 常用方法: ...

  3. java中scanner类的用法

    在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...

  4. c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  5. java 中的Scanner

    java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...

  6. Golang 逐行读写之scanner.Scan

    Go语言实现逐行读的方法多种,本文只介绍Scaner的方法,也是go推荐的方法. 官方文档 例子: file, err := os.Open("filename") if err ...

  7. BufferedReader与Scanner的区别

    在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...

  8. 简单利用Scanner对文件进行解析

    public class AvPrice{    static int count = 0;    static int sum = 0;    public static void main(Str ...

  9. java利用Scanner获取键盘输入

    首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...

  10. 输入scanner,if-else

    import java.util.Scanner; public class Job{ public static void main(String[] args){ Scanner scanner ...

随机推荐

  1. 【C】Re03

    一.变量 变量存储了两个东西: 1.内存空间地址 2.内存空间存放的值 本质是给内存地址起了一个别名,允许我们通过别名对内存进行访问 void variable01() { int a = 100; ...

  2. NVIDIA的OpenUSD是什么? —— Universal Scene Description (USD)

    正如NVIDIA的老黄在2024年的技术大会上的展示一样,NVIDIA公司或许最准确的定义应该是计算机图形学公司,因为不论是NVIDIA搞GPU还是搞通用计算还是搞软件生态以至于现在搞AI搞机器人搞自 ...

  3. VcXsrv: 一个好用的Windows X11 Server

    windows10没有系统自带的X11服务器,使用了几款X11的windows下X11服务器软件后发现了一个好用的软件--VcXsrv. 下载地址: https://sourceforge.net/p ...

  4. 在vscode中通过修改launch.json文件为项目添加启动参数——在launch.json文件中修改args变量

    以前一直在使用pycharm,不管怎么说毕竟国内外的Python编程者大部分都更支持pycharm,并且认为pycharm是Python语言编程中最好用的编辑器,但是随着国内编程人员一茬一茬的兴起很多 ...

  5. mybatis升级为mybatis-plus

    1.背景 为了快速开发,需要把之前的老项目升级为mybatis-plus 2.步骤 步骤一:导入jar包 <dependency> <groupId>com.baomidou& ...

  6. Linux系统内核的作用

      Linux系统内核在操作系统中扮演着至关重要的角色,其作用主要体现在以下几个方面: 进程管理:内核负责创建和销毁进程,这是操作系统对计算机上正在运行的程序进行管理的核心部分.内核通过调度器对进程进 ...

  7. WPF如何给window加阴影效果

    <Style x:Key="WindowStyle1" TargetType="{x:Type Window}"> <Setter Prope ...

  8. UE4打包后的游戏,无法打卡其他关卡的解决办法

    现象: 程序调试的时候可以通过主菜单打开其他关卡界面,但是打包之后就无法通过按钮打开,一直显示错误 Warning: Travel Failure: [ClientTravelFailure]: Fa ...

  9. SMU Spring 2023 Contest Round 7

    A. Programming Contest 签到题. 输入输出读完应该就懂了: 从y1枚举到y2,若枚举的年份不在停办年份里则答案加一 void solve() { int n,m; cin > ...

  10. 卷积神经网络CNN实战:MINST手写数字识别——网络定义

    本文基于python-pytorch框架,编写CNN网络,并采用CNN手写数字数据集训练.测试网络. 网络的构建 以LeNet-5 网络为例 类定义 首先先了解一下网络的最基本框架 一般而言,首先创建 ...