用户交互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. QT 之 ODBC连接人大金仓数据库

    QT 之 使用 ODBC 驱动连接人大金仓数据库 获取数据库驱动和依赖动态库 此操作可在人大金仓官网下载与系统匹配的接口动态库,或者从架构数据库的源码中获取驱动和依赖动态库 分别为: 驱动动态库:kd ...

  2. Redis之集群

    Redis Cluster是 Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求.当遇到单机内存.并发.流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的 ...

  3. 4、linux32位和64位操作系统的区别

  4. 关于asp.net中Repeater控件的一些应用

    在Asp.net中,我是比较喜欢用Repeater这个控件,刚刚遇到的一个问题,怎么实现单击 <asp:LinkButton>,通过后台的单击事件获取同一行数据中的其他数据(对象). 1, ...

  5. hdu 1754 I Hate It 线段树 单点更新 区间最值

    线段树功能:update:单点更新 query:区间最值 #include <bits/stdc++.h> #define lson l, m, rt<<1 #define r ...

  6. drf-路由和认证

    目录 一.路由Routers SimpleRouter DefaultRouter action的使用 二.认证 认证的写法 认证源码分析 认证组件的使用 一.路由Routers 在 Rest Fra ...

  7. Java中的自增自减

    情况①: for (int i = 0; i < 100; i++) { j = 1 + j++; } System.out.println(j); 结果是 0 !! 这是由于在进行后自增/自减 ...

  8. com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)

    RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个java语言的测试.首先 ...

  9. Robot Framework中SSHLibrary 学习与总结

    一.安装SSHLibrary 二.关键字 1.与连接相关的 Open Connection Get Connection Get Connections Switch  Connection Clos ...

  10. Jmeter之代理元件&代理配置

    一 jmeter代理服务器添加及网页代理配置 1.1 打开jmeter,添加代理HTTP代理服务器,再添加一个线程组,放在代理服务器的下面. 1.2 代理服务器设置 端口默认8888,目标控制器选择t ...