java流程控制

1. 用户交互Scanner

  1. 属于 java.util.Scanner 包内

  2. 为了实现人机交互,使用Scanner类获取用户的输入

  3. 基本语法

    Scanner s = new Scanner(System.in);
    
  4. 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext() (是否有下一个) 与hasNextLine() (是否有下一行) 判断是否还有输入的数据。

    1. hasNext()

      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()){
                  String str = scanner.next();    //程序会等待用户输入完毕
                  System.out.println("输出的结果为"+str);
      
              }
      
              //凡是属于IO流的类,如果不关闭会一直占用资源,要养成好习惯用完就关掉
              scanner.close();
          }
      
      }
      //输入hello world
      //最后输出hello(少了world)
      
    2. hasNextLine()

      package com.jam.Scanner;
      
      import java.util.Scanner;
      import java.util.Stack;
      
      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();
          }
      }
      
      
  5. next()

    1. 一定读取到有效字符后才可以结束输入
    2. 对有效字符之前遇到的空白,next()方法会自动将其去掉
    3. 只有输入有效数字后才将其后面输入的空白作为分隔符或者结束符
    4. next()不能得到带有空格的字符串
  6. nextLine()

    1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
    2. 可以获得空白

2. Scanner扩展

输入多个数字,求其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
package com.jam.Scanner;

import java.util.Scanner;

public class Demo04 {
    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 += x;
            System.out.println("你输入了第" + m + "个数据,然后当前结果sum=" +sum );
        }

        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + (sum/m));

        scanner.close();
    }
}
posted @   Jam_liu  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
//
点击右上角即可分享
微信分享提示