用户交互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. python随机漫步

  2. 最大子序和:暴力->递归->动规->线段树

    题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. LeetCode:53. 最大子序和 题解 显而易见的暴力解法 最容易想到的便是暴力穷 ...

  3. MPP大规模并行处理架构详解

    面试官:说下你知道的MPP架构的计算引擎? 这个问题不少小伙伴在面试时都遇到过,因为对MPP这个概念了解较少,不少人都卡壳了,但是我们常用的大数据计算引擎有很多都是MPP架构的,像我们熟悉的Impal ...

  4. redis-list实现

    Redis 数据结构---链表 Redis的list底层实现使用的不是数组而是链表的数据结构 叫listnode  是一个双向链表 ListNode{ Struct listNode *prev  / ...

  5. 1.3.3、通过Header属性匹配

    server: port: 8080 spring: application: name: gateway cloud: gateway: routes: - id: guo-system4 uri: ...

  6. Acunetix引入了Docker支持,扫描统计信息以及将漏洞发送到AWS WAF的功能

    已针对Windows,Linux和macOS发布了新的Acunetix更新:14.2.210503151. 此Acunetix更新引入了Docker支持,针对每次扫描显示的新"扫描统计信息& ...

  7. Dart学习记录(一)——对象

    1. 静态成员.方法 1.1 static 声明 1.2 静态.非静态方法可访问静态成员.调用方法:静态方法不可访问静态成员.调用方法: 1.3 静态成员.方法,属于类的 ,不用实例化对象就可使用,不 ...

  8. 【保姆级】Python项目(Flask网页)部署到Docker的完整过程

    大家好,我是辰哥~ 前提:相信看到这篇文章的读者应该已经学会了Docker的安装以及Docker的基本使用,如果还不会的可以参考我之前的文章进行详细学习! 1.安装版:2300+字!在不同系统上安装D ...

  9. selenium3 + python - js&jquery操作处理

    # 推荐学习:https://www.w3school.com.cn/js/index.asp## 下面以简书登录&注册定位元素为例"""js定位 id name ...

  10. 手把手教你用java实现二分查找树及其相关操作

    二分查找树(Binary Search Tree)的基本操作有搜索.求最大值.求最小值.求前继.求后继.插入及删除. 对二分查找树的进行基本操作所花费的时间与树的高度成比例.例如有n个节点的完全二叉树 ...