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. 使用.NET 6开发TodoList应用(12)——实现ActionFilter

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 Filter在.NET Web API项目开发中也是很重要的一个概念,它运行在执行MVC响应的Pipeline中执行,允许我们 ...

  2. PS8625替代方案CS5211|CS5211可以替代兼容PS8625方案|DP转LVDS芯片方案

    PS8625|Parade普瑞 PS8625|Parade普瑞 PS8625芯片|Parade普瑞 PS8625方案|Parade普瑞 PS8625芯片代理|DP转LVDS|PS8625替代方案CS5 ...

  3. CS5213设计HDMI转VGA带音频信号输出|CS5213方案|CS5213设计电路

    CS5213是一款用于设计HDMI转VGA音视频信号转换器方案,CS5213设计HDMI转VGA转换器或者转接线产品特点: 将完整的HDMI信号转换为VGA输出支持数字信号到模似信号的转换支持 HDC ...

  4. 云南农职《JavaScript交互式网页设计》 综合机试试卷⑤——简单分类菜单

    一.语言和环境 实现语言:HTML,CSS,JavaScript,JQuery. 开发环境:HBuilder. 二.题目(100分): 1.使用Jquery和JavaScript实现二级分类菜单管理 ...

  5. HTML网页设计中 link 和 @import 的区别

    页面中使用CSS的方式主要有3种:行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引用有两种:link和@import.外部引用CSS两种方式link和@import的方式分别是 ...

  6. 编写Java程序,模拟网上商城购物,当用户选好物品提交订单时,每笔订单会自动生成一个唯一的订单编号。

    查看本章节 查看作业目录 需求说明: 模拟网上商城购物,当用户选好物品提交订单时,每笔订单会自动生成一个唯一的订单编号.而部分电子商务网站在数据高峰期时,一毫秒可能需要处理近千笔的订单 现在简单模拟 ...

  7. .net core在linux下图片中文乱码

    不得不吐槽一下,.net core 2.2的System.Drawing在linux有很多坑,又是依赖libgdiplus,又是依赖gdiplus,依赖解决了又来了个中文乱码,怎的一声哀叹 这里做个笔 ...

  8. 『无为则无心』Python函数 — 33、高阶函数

    目录 1.高阶函数的定义 2.体验高阶函数 3.内置高阶函数 (1)map()函数 (2)reduce()函数 (3)filter()函数 1.高阶函数的定义 把函数作为参数传入(把一个函数作为另外一 ...

  9. Spring Cloud Eureka源码分析之心跳续约及自我保护机制

    Eureka-Server是如何判断一个服务不可用的? Eureka是通过心跳续约的方式来检查各个服务提供者的健康状态. 实际上,在判断服务不可用这个部分,会分为两块逻辑. Eureka-Server ...

  10. spring-data-jpa ----OneToMany 一对多

    环境搭建 导入依赖  maven3.6.3 <properties> <spring.version>5.2.5.RELEASE</spring.version> ...