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();//程序结束
  }
}

习题:

要求:我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果:

代码实现:

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();
  }
}
next()进阶
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();


  }
}
nextLiner进阶
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()){
           String str = scanner.nextLine();
           System.out.println("输出内容为:"+str);
      }
       scanner.close();
  }
}

Java流程控制02: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流程控制02——顺序结构

  4. 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程

    040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...

  5. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构

    035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...

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

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

  7. Java流程控制练习--万年历

    Java流程控制练习--万年历 标签: Java入坑之旅 0x01. 打印倒三角和正三角 public static void main(String[] args) { // TODO Auto-g ...

  8. JAVA流程控制

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

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

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

随机推荐

  1. Codeforces Gym-100985C: MaratonIME plays Nim(交互题&博弈)

    C. MaratonIME plays Nim time limit per test : 2.0 smemory limit per test : 64 MBinputstandard inputo ...

  2. Anaconda下载与安装

    目录 Anaconda下载与安装 开发环境搭建介绍 Anaconda优势 Anaconda安装 测试安装成功 安装好Anaconda界面 如何启动jupyter 启动后新建文件 执行第一个程序 文件的 ...

  3. [error]Flask Address already in use

    在Python的Flask框架下Address already in use [地址已在使用中] 出现这种错误提示, 说明你已经有一个流程绑定到默认端口(5000).如果您之前已经运行过相同的模块,则 ...

  4. 解决Web开发HTML页面中footer保持在页面底部问题

    如图所示如何实现footer在内容不足或者浏览器窗口变大变小的时候一直保持在底部呢?请看如下两种解决方案. 第一种方案: footer高度固定+绝对定位 (兼容性比较好完美兼容IE8+)思路:foot ...

  5. 编写Java程序,在维护英雄数据的业务过程中复用数据库操作封装类

    返回本章节 返回作业目录 需求说明: 继续完善英雄信息系统,将HeroAccess类中数据库连接相关代码独立出来,并将其封闭成数据库操作工具类DbConnection,便于管理和代码复用. 在Hero ...

  6. C# .net 环境下使用rabbitmq消息队列

    消息队列的地位越来越重要,几乎是面试的必问问题了,不会使用几种消息队列都显得尴尬,正好本文使用C#来带你认识rabbitmq消息队列 首先,我们要安装rabbitmq,当然,如果有现成的,也可以使用, ...

  7. python的作用域、globals()-全局变量 和 locals()-局部变量

    在python中,函数会创建一个自己的作用域,也称为为命名空间.当我们在函数内部访问某个变量时,函数会优先在自己的命名空间中寻找. 我们自己定义的全局变量均在python内建的globals()函数中 ...

  8. 第10组 Beta冲刺 (3/5)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14018630.html ·作业博客:https://edu.cnblogs.co ...

  9. spring boot 中使用swagger

    一.pom.xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox ...

  10. 在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查

    不乱于心,不困于情,不畏将来,不念过往,如此安好 --<不宠无惊过一生>丰子恺 概述 关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章: 在 k8s 中 ...