zoukankan      html  css  js  c++  java
  • Scanner方法

    Scanner对象

    Scannner是一个扫描用户输入的 类,电脑通过Scannner来获取用户的输入。

    基本语法

    Scanner s = Scanner(System.in);

    在Scanner类的next()与nextLine方法来获取输入的字符串,在读取时一般需要hasNext()与hasNextLine()判断是否还有要输入的数据。

    next() 一个

    hasNext() 还是否有一个

     

    nextLine() 一行

    hasNextLine() 还是否有一行

     

    next():

    • 必须读取到用户输入的有效数据后才能继续运行或结束。

    • 在用户输入的有效数据之前遇到空格,会自动去除空格。

    • 如用户输入了有效字符后在其后面输入空格,空格会作为结束符,从而不会显示空格之后的字符。

    • next()不能得到有空格的字符串,因为它只能获取空格之前的字符串。

    nextLine()

    • nextLine()是以回车键作为结束符的,在回车之前所有字符都可以被获取。

     

    package weiwei.scanner;

    import java.util.Scanner;

    public class Dem01 {
    //Scanner对象
       public static void main(String[] args) {//main方法

           Scanner scanner = new Scanner(System.in);//(IO流) 创建扫描器对象,用于接收键盘数据

           System.out.println("使用next的方法接收:");

           //判断用户有没有输入字符串
           if (scanner.hasNext()) {
              ;//如果用户还有一个输入
               // 不用再hasNext()后标记=true,默认都为true

               String str = scanner.next();//接收用户的输入,查看用户是否还要输入。之后存储进str内
               //str为一个String(字符串)类型的存储器

               System.out.println("输入的内容为:" + str);//输出保存在str内的数据
          }
       scanner.close();//关闭scanner
           //凡是属于IO流的类,不关闭会一直占用资源。每次使用完后必须关闭 .close为关闭
      }

    }

    Scanner因为有hasNext和hasNextLine方法,所有不需要if也可以做出判断。

    package weiwei.scanner;
    //Scanner可以不适用if,也能计算出结果
    import java.util.Scanner;

    public class Dem02 {
       public static void main(String[] args) {
           Scanner scanner = new Scanner(System.in);
           System.out.println("你说句话呀:");
               String 二狗=scanner.nextLine();
               System.out.println("你再说一遍:"+二狗);
           scanner.close();
      }
    }

    当配上其他条件时,可做出简单的程序

    package weiwei.scanner;

    import java.security.cert.X509Certificate;
    import java.util.Scanner;//要求:统计用户输入的次数,并计算输入的数值总和与平均值

    public class Dem04 {
       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();/*在循环语句中设立变量x为用户当次输入
    的数值,while每循环一次,代表用户完成一次数值输入,x的值也会相应随着用户输入的数值
    改变*/
               //完成一次输入,m就会自动加1,用来统计用户输入的次数
               m=m+1;//可用m++的循环结构。在while内循环一次,就+1
               sum=sum+x;//x代表用户的输入,while循环一次,就在原来数值的基础上再相加
               System.out.println("你当前为第"+m+"次输入,总数和为:"+sum);
          }
           System.out.println("你输入的总数为"+sum+"平均值为"+sum/m);
            scanner.close();//关闭Scanner
            if (sum/m>100){
               System.out.println("你的平均数真大");
          }else{
               System.out.println("你的平均数太小");
          }

      }
    }

     

  • 相关阅读:
    网易2019实习生招聘编程第3题——牛牛找工作
    Linux find、locate、whereis、which命令
    Linux 常用命令
    Java线程池
    java连接池的maxIdle该如何配置
    Idea和redis的坑
    微服务架构下分布式事务解决方案——阿里GTS
    spring管理bean的三种创建方式
    jvm内存过高及那些对象导致内存过高,那些对象不会被gc回收
    Java虚拟机 运行时数据区
  • 原文地址:https://www.cnblogs.com/jinweichaoyouqu/p/13736683.html
Copyright © 2011-2022 走看看