Scanner对象

可以通过scanner类(java.util.Scanner)来获取用户的输入

基本语法:

Scanner s = new Scanner(System.in);

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

next():

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

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

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

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

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

nextLine():

  1. 以Enter为结束符,返回值为输入回车之前的所有字符

  2. 可以获取空白

 package com.yeyue.Scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo02 {
     public static void main(String[] args) {
         //创建一个扫描器对象,用于接收键盘数据
         Scanner scanner = new Scanner(System.in);
 ​
         System.out.println("使用nextLine方式接收:");
 ​
         //判断用户是否还有输入
         if (scanner.hasNextLine()){
             //使用next方式接收
             String str = scanner.nextLine(); //程序会等待用户输入完毕
             System.out.println("输出的内容为:"+str);
        }
 ​
         //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关
         scanner.close();
    }
 }

综合实例1:

 package com.yeyue.Scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo04 {
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
 ​
         //从键盘接收数据
         int i = 0;
         float f = 0.0f;
 ​
         System.out.println("请输入整数:");
 ​
         //判断
         if (scanner.hasNextInt()){
             i = scanner.nextInt();
             System.out.println("整数数据:"+i);
        }else{
             System.out.println("输入的不是整数数据");
        }
 ​
         System.out.println("请输入小数:");
 ​
         //判断
         if (scanner.hasNextFloat()){
             f = scanner.nextFloat();
             System.out.println("小数数据:"+f);
        }else{
             System.out.println("输入的不是小数数据");
        }
 ​
         scanner.close();
    }
 }

综合实例2:

 package com.yeyue.Scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo05 {
     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();
             m = m + 1; //m++
             sum = sum + x;
             System.out.println("你输入了第"+m+"个数据,然后当前结果sum"+sum);
        }
         System.out.println(m+"个数的和为"+sum);
         System.out.println(m+"个数的平均数为"+sum / m);
 ​
         scanner.close();
    }
 }

流程控制之Scanner的更多相关文章

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

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

  2. Java流程控制(Scanner)

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

  3. Java流程控制之Scanner的进阶使用

    Scanner的进阶使用 import java.util.Scanner; public class Demo04 { public static void main(String[] args) ...

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

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

  5. Java流程控制:用户交互Scanner、选择结构

    Java流程控制:用户交互Scanner.选择结构 用户交互Scanner Scanner类用于获取用户的输入 基本语法: Scanner s = new Scanner(System.in);s.c ...

  6. JAVA流程控制

    JAVA流程控制 example1: --输出九九乘法表 public class chengfabiao { public static void main (String[] args){     ...

  7. luogg_java学习_03_流程控制及循环结构

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 程序流程控制 顺序结构 分支结构:if-else,sw ...

  8. Java学习笔记之:Java流程控制

    一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...

  9. No1_2. 流程控制_java学习笔记

    import java.util.Scanner; import java.lang.Math; public class HelloForWhile { /** * 文档注释,程序名称:HelloF ...

  10. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

随机推荐

  1. 移动端NES网页模拟器(1)

    前言 移动端浏览器是没有实体键盘的,想要操作游戏就必须为其设置虚拟按键,通过虚拟按键(按钮)的标识与实体键盘的keyCode进行绑定,来达到想要的效果. 这个随笔只封装NES游戏手柄右边的按键,不包含 ...

  2. .Net知识技能大全

    .Net知识技能大全 更多请见https://www.dotnetshare.com C#常见运算符 一元运算符(+.-.!.~.++.--) 算术运算符(*./.%.+. – ) 移位运算符(< ...

  3. 鸿蒙UI开发快速入门 —— part03: 组件的生命周期

    1. 什么是组件的生命周期 组件的生命周期是我们开发一个组件必须要关注的内容,组件的生命周期,指的是组件的创建.渲染.销毁等过程.因为这个过程就类似于人从出生到离世的过程,从而称为:组件的生命周期. ...

  4. vscode+evernote印象笔记+markdown写在线笔记

    1. vscode安装evermonkey插件 2. vscode快捷键:Ctrl+Shift+P ,输入ever 按提示进行操作 Ever New: 创建新evernote笔记: 愉快地玩耍 点击下 ...

  5. CoFile 企业云盘大焕新啦!

    一.域名升级,更好记 俗话说的好,好记性不如字数少 cofile.net 指尖一敲,快乐来到 别拦着我,我就要用 CoFile 企业云盘 二.架构优化,不止更快 底层优化,加载提速,更快响应,加倍安全 ...

  6. 跨平台交叉编译 Native AOT

    如何将.NET 应用程序发布到鸿蒙上,肯定是很多人感兴趣的话题,目前.NET完全具备可以在OpenHarmony系统上运行的能力,.NET 现在有很多选项CoreCLR.Mono和NativeAOT. ...

  7. Linux NAS存储、文件共享

    Linux NAS存储之CIFS CIFS是Windows和Unix系统之间共享文件的一种协议,客户端通常是Windwos等.支持多节点同时挂载以及并发写入 1.服务器端操作(存储端) 1.1.服务器 ...

  8. 【C#】【报错解决】找不到请求的Net Framework Data ProVider。可能没有安装。

    如题报错截图如上,解决方法如下 第一步:找到[引用]中的MySql.Data中的版本号 第二步,在Web.config中添加如下配置 <system.data> <DbProvide ...

  9. https://gitlab.com/volian/nala/-/wikis/Installation

    Installation   Debian Testing/Sid Nala is officially in the testing and sid repos. sudo apt install ...

  10. 代码依赖包安全漏洞检测神器 —— Dependency Check

    目前各个企业对于应用的安全越来越重视,而解决应用漏洞的本质是从代码安全抓起.通常关于代码的安全问题有两类:代码本身的安全问题和代码依赖包存在的安全问题.对于代码本身的安全问题,我们可以通过静态代码分析 ...