用户交互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. Pycharm破解版_安装从失败到成功

    前言: 入门学习的时候一直用的是社区版的,现在想换个专业版的玩玩. 本文使用的环境说明: win10系统 安装过pycharm社区版,已卸载 已安装python 3.8.5 (建议看完整篇文章后再自行 ...

  2. 5、mysql_sql语言介绍

    5.1.什么是sql: 总结:sql语句是关系型数据库的结构化查询和程序设计语言: 5.2.sql的分类: 1.数据库查询语言(DQL): select user,host,password from ...

  3. centos Sonarqube ldap(AD域) 配置

    1. 测试ad 连接 命令: ldapsearch -h 192.168.1.4 -D LXWJadmin@wjj.local -w 用户密码 -b "OU=蓝翔技校,OU=挖掘机事业群,O ...

  4. 接口自动化框架搭建Unittes+HTMLTestRunner

    本次主要尝试搭建接口自动化框架,基于 unittest+HTMLTestRunner 框架主要模块: config: 存放配置文件 lib: 封装了一些接口前置函数:处理各种事物 log: 存放生成的 ...

  5. idea中快捷键的设置

    IDEA快捷方式改成eclipse的 File -> Settings -> Keymap 这里选Eclipse 然后Applay 即可: 快速生成main方法设置以及System.out ...

  6. 基于js的姓名校验

    // 姓名校验 isRightName: function(name) { var reg = /^[a-zA-Z\u4E00-\u9FA5\uF900-\uFA2D\u00B7\u2022\u009 ...

  7. Mysql索引降维 优化查询 提高效率

    在前一篇文章中,我们已经介绍了索引.索引的优化规则等等 原文链接:Siam博客 mysql索引优化 在其中我们有引申出组合索引,多个单字段索引冲突两个知识点. 本文章主要是与后者有关联. 在原文中,我 ...

  8. 深入浅出图神经网络 GCN代码实战

    GCN代码实战 书中5.6节的GCN代码实战做的是最经典Cora数据集上的分类,恰当又不恰当的类比Cora之于GNN就相当于MNIST之于机器学习. 有关Cora的介绍网上一搜一大把我就不赘述了,这里 ...

  9. ESP32-性能监控笔记

    基于ESP-IDF4.1 1 #include <stdio.h> 2 #include <string.h> 3 #include <unistd.h> 4 #i ...

  10. JS中 var,let与const的区别

    1.在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过 var 关键字,函数声明是通过 function 关键字,而在ES6之后,声明的方式有 var . let . cons ...