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. 【Spring】08 后续的学习补充 vol2

    1.[纯注解配置实现] 首先实现纯注解配置的第一件事情就是删除XML文件 然后编写一个类用于代替XML文件实现配置功能: 使用@Configuration将这个类注册为Spring容器 使用@Comp ...

  2. 举例说明:ChatGPT和百度文心一言的差距

    翻译: we employ ten sub-generators against one discriminator 百度的表现: ChatGPT的表现:

  3. HPA* (Near Optimal hierarchical Path-finding)算法的效果图

    本文中的图全部来自: https://mohitsharma0690.blogspot.com/2016/01/hierarchical-pathfinding.html 图的说明: Here is ...

  4. 分享某Python下的mpi教程 —— A Python Introduction to Parallel Programming with MPI 1.0.2 documentation ( 续 #2 )

    接前文: 分享某Python下的mpi教程 -- A Python Introduction to Parallel Programming with MPI 1.0.2 documentation ...

  5. 使用Redis时的vm.overcommit_memory内存分配控制

    最近在使用Redis的时候遇到了linux系统中的vm.overcommit_memory参数设置,对此不是很了解,于是研究了一下,有了本文. ============================ ...

  6. MySQL 优化慢查询

    查询以SELECT 语句的形式执行数据库中的所有查找操作.调整这些语句是重中之重,无论是实现动态网页的亚秒响应时间,还是缩短数小时生成大量夜间报告的时间. 此外SELECT语句,进行查询调谐技术也适用 ...

  7. Java栈溢出|内存泄漏|内存溢出

    Java虚拟机栈是线程私有的,它的生命周期和线程同步 一个线程每执行到一个方法,JVM就会创建一个栈帧(用于存储基本数据类型.对象指针和返回值等),并将栈帧压入栈中. 代码示例: public cla ...

  8. 通过JMX监控weblogic服务

    一.JMX简介 JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的"被管理"呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的, ...

  9. 9.150 Predefined macros

    9.150 Predefined macros The ARM compiler predefines a number of macros. These macros provide informa ...

  10. 掌握Java面向对象OOP篇(一)

    掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...