用户交互Scanner

sacnner对象

之前的语法并没有实现程序与人的交互。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。

基本语法:
 Scanner s=new Scanner(System.in);

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

使用next方式接收
 package Top2;
 ​
 import java.util.Scanner;
 ​
 public class Demon03 {
     public static void main(String[] args) {
         //创建一个扫描对象,用于接收键盘数据
         Scanner scanner= new Scanner(System.in);
 ​
         System.out.println("使用next方式接收");
 ​
         //判断用户有没有输入字符串
         if(scanner.hasNext()==true){
             //使用next方式接收
             String str=scanner.next();
             System.out.println("输出的内容为:"+str);// hello
        }
         //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
         scanner.close();
    }
 }
 ​
使用nextLine方式接收
 package Top2;
 ​
 import java.util.Scanner;
 ​
 public class Demon04 {
     public static void main(String[] args) {
         //从键盘输入数据
         Scanner scanner=new Scanner(System.in);
 ​
         System.out.println("使用nextLine方式接收");
         //判断是否还有输入
         if(scanner.hasNextLine()==true){
             String str=scanner.nextLine();
             System.out.println("输出的内容为:"+str);// hello world
        }
         scanner.close();
    }
 }
 ​
next 与 nextLine 接收方式的区别

next():

1.一定要读取到有效字符后才可以结束输入

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

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

4.next()不能得到带有空格的字符串

nextLine():

1.以Enter作为结束符 也就是说nextLine()方法返回的是输入回车之前的所有字符

2.可以获得空白

输入输出基本语句:
 package Top2;
 ​
 import java.util.Scanner;
 ​
 public class Demon05 {
     public static void main(String[] args) {
         //从键盘输入数据
         Scanner scanner = new Scanner(System.in);
 ​
         System.out.println("请输入数据:");
 ​
         String str = scanner.nextLine();//其实也就只用记着这句
 ​
         System.out.println("输出的内容为:" + str);
 ​
         scanner.close();
    }
 }
输入多个数字 求和 平均值 并统计个数
 import java.util.Scanner;
 ​
 public class Demon07 {
     public static void main(String[] args) {
         // 输入多个数字,并求和与平均数,每输入一个数用回车标确认,通过输入非数字来结束输入并输出执行结果
         Scanner scanner=new Scanner(System.in);
         //和
         double sum=0;
         //计算输入多少个数字
         int m=0;
         //请输入数据
         //通过循环判断是否还有输入,并在里面对每一次进行求和与统计
         while(scanner.hasNextDouble()){//输入的是数字就执行 不是就结束
             double x=scanner.nextDouble();
             //
             m++;
             sum=sum+x;
        }
 ​
         System.out.println("个数的和为:"+sum);
         System.out.println("个数为:"+m);
         System.out.println("平均数为:"+(sum/m));
         
     scanner.close();
    }
 }
 ​

2021-07-15

Java流程控制01——用户交互Scanner的更多相关文章

  1. Java流程控制:用户交互Scanner

    java.util.Scanner工具类获取用户输入语法:Scanner scanner = new Scanner(System.in);通过Scanner类的next()与nextLine()方法 ...

  2. Java流程控制01:用户交互Scanner

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

  3. 第4天 JavaDoc生成文档&Java流程控制(第一节:用户交互Scanner)

    JavaDoc生成文档 javadoc命令是用来生成自己的API文档 参数信息: @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @ ...

  4. 044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏

    044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏 本文知识点:do-while循环深入运用 案例练习 案例 ...

  5. 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...

  6. Java流程控制与Scanner类的使用

    Java流程控制与Scanner类的使用 Scanner类 Scanner类可以使程序接受键盘输入,实现人机交互 一个完整的Scanner的使用例子: //创建一个扫描器对象,用于接收键盘数据 Sca ...

  7. Java流程控制(Scanner)

    3.1用户交互Scanner 可以通过Scanner类来获取用户的输入: 语法: Scanner s = new Scanner(System.in); 通过Scanner类的next()与nextL ...

  8. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  9. 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

随机推荐

  1. excel自动记录项目完成进度,是否逾期,逾期/提前完成天数,计算天数可以把now()改为today()

    =IF(D38="",NOW()-C38,F38) 注:如果没有启用迭代计算,可以点击"文件"-"选项"-"公式"-&q ...

  2. Apache Hudi在Hopworks机器学习的应用

    Hopsworks特征存储库统一了在线和批处理应用程序的特征访问而屏蔽了双数据库系统的复杂性.我们构建了一个可靠且高性能的服务,以将特征物化到在线特征存储库,不仅仅保证低延迟访问,而且还保证在服务时间 ...

  3. Python UI自动化

    Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...

  4. 源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)

    Git常用命令 源代码工具 工具名称 相关地址 Git Git for Windows VSC Visual Studio Code VSC插件(Gitlen) GitLens - Git super ...

  5. Zoho Books十年发展历程

    十年前,我们推出Zoho Books的时候,是为了全面解决企业面临的财务和会计方面的挑战.我们逐渐地从一开始的易用的中小企业在线会计工具,发展成为现在的解决企业复杂的财务挑战的解决方案,其中经历了很多 ...

  6. Docker下的mysql安装指令(Mac)

    工具   简介 对于Docker,绝对是开发人员的一款利器!当下特别火热的虚拟化技术.都说不知Docker是什么,作为IT人就out了. 关于Docker 是什么.及其基础学习可以参考: <Do ...

  7. 16 shell select in 循环

    select in 是 Shell 独有的一种循环,适用于与终端(Terminal)进行交互,在其他编程语言中是没有的. 用法 说明 脚本 select var in val_listdo    st ...

  8. 用swoole实现异步任务队列

    应用场景如下: 假如要发100封邮件,for循环100遍,这种方法显然是不可取的. 在一些比较繁杂的业务里,我们很可能有超过1万的邮件要群发.那我们怎么处理这个延迟的问题? 答案就是用异步.把&quo ...

  9. easyui的combobox的onChange事件的实现

    easyui的combobox的onChange事件的实现,直接上代码: <div style="display:inline;margin-left:15px;"> ...

  10. kong插件Prometheus+grafana图形化展示

    目录 1. 准备工作 3. 为kong添加 prometheus插件 4. 打开kong的metrics支持 4. 配置prometheus.yml添加kong提供的数据信息 5. 在 Grafana ...