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. 来自Java程序员的Python新手入门小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. HDU 6470:Count(矩阵快速幂)

    Count Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  3. Class Activation Mapping (CAM)

    目录 概 主要内容 CAM Grad-CAM Grad-CAM++ Score-CAM 最后 代码 Zhou B., Khosla A., Lapedriza A., Oliva A. and Tor ...

  4. OpenCV 可自动调整参数的透视变换

    在shiter大牛的基础之上,对于他的程序做了一定的修改. 首先,通过两个循环使得霍夫变换两个参数:角度的分辨率和点个数的阈值可以变换,这样就不必对于每一张图像都手动的设置阈值.其次,过滤掉了两个距离 ...

  5. Spring企业级程序设计 • 【第3章 面向切面编程】

    全部章节   >>>> 本章目录 3.1 AOP基本概念和术语 3.1.1 AOP概念 3.1.2 AOP的术语解释 3.1.3 通知类型介绍 3.1.4 通过AOP模拟事务操 ...

  6. Java EE数据持久化框架作业目录(作业笔记)

    第1章 MyBatis入门>>> 1.1.4 在Eclipse中搭建MyBatis基本开发环境 1.2.5 使用MyBatis查询所有职员信息 1.3.3 获取id值为1的角色信息. ...

  7. MongoDB 变更流(Change Stream)介绍

    1. 什么是Change Stream Change Stream 是MongoDB用于实现变更追踪的解决方案,类似于关系数据库的触发器,但原理不完全相同: | | Change Stream | 触 ...

  8. CSS基础 装饰 元素本身隐藏和显示效果及案例

    1.visibility:hidden; 2.display: none: 区别: 1.visibility:hidden 隐藏元素本身,且在网页中 占位置 2.display:none; 隐藏元素本 ...

  9. Linux查看进程启动时间和运行多长时间

    Linux 查看进程启动时间和运行多长时间 启动时间 ps -eo lstart 运行多长时间 ps -eo etime -bash-4.1$ ps -eo pid,lstart,etime | gr ...

  10. java 字符串 大小写转换 、去掉首末端空格 、根据索引切割字符 、判断是否含有某连续字符串

    1. 字符串转大写: toUpperCase() 字符串转小写: toLowerCase() @Test public void tt(){ String d = "sdgGHJGjghGH ...