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. 【OracleDB】 07 分组查询 & 分组函数

    分组函数 分组函数作用于一组数据,并对一组数据返回一个值. Oracle中分组函数的种类: - 求平均值 AVG - 计数记录数 COUNT - 求最大值 MAX - 求最小值 MIN - 求和 SU ...

  2. 斯坦福AI团队被质疑抄袭国产大模型

    原文地址: https://mbd.baidu.com/newspage/data/landingsuper?context={"nid"%3A"news_8882699 ...

  3. 【转载】 DQN玩Atari游戏安装atari环境bug指南

    版权声明:本文为CSDN博主「好程序不脱发」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/ningmengzh ...

  4. mybatis-plus自动生成代码

    1.背景 本教程将介绍如何使用 mybatis-plus 工具自动给我们生成 Controller.Service.Entity.Mapper.Mapper.xml 层代码; 给出一个便于于学习理解的 ...

  5. 深度解读KubeEdge架构设计与边缘AI实践探索

    摘要:解读业界首个云原生边缘计算框架KubeEdge的架构设计,如何实现边云协同AI,将AI能力无缝下沉至边缘,让AI赋能边侧各行各业,构建智能.高效.自治的边缘计算新时代,共同探索智能边缘的新篇章. ...

  6. 关于vue按需引入ElMessage和ElMessageBox未被自动引入到auto-important的问题

    相信关于按需引入大家应该都会了,不论是官网还是百度一大堆教程 我这边也是参照https://github.com/youlaitech/vue3-element-admin的写法去写的-----需要的 ...

  7. 几款能容易使用的AI绘画工具

    首先介绍一款软件叫做Discord,这是一个非常火爆的社交软件,目前市面上有很多ai绘画工具都可以在在其对应的社区上运行. Discord | 玩耍聊天的地方这个网站可以访问Discord网页版,也可 ...

  8. 零基础学习人工智能—Python—Pytorch学习(九)

    前言 本文主要介绍卷积神经网络的使用的下半部分. 另外,上篇文章增加了一点代码注释,主要是解释(w-f+2p)/s+1这个公式的使用. 所以,要是这篇文章的代码看不太懂,可以翻一下上篇文章. 代码实现 ...

  9. div中多行内容垂直居中显示

    div中多行内容垂直居中显示 一.css 样式 .wrap { height: 200px; width: 200px; border: 1px solid #232323; display: fle ...

  10. LaTex “too many unprocessed floats”

    latex编辑时出现LaTex "too many unprocessed floats" 如何解决? 有人说是用/usepackage[section] {placeins} 我 ...