13

流程控制1

用户交互Scanner

java.util.Scanner是Java 5的新特性,可以获取用户的输入。

基本语法

Scanner s = new Scanner(System.in);

在读取前一般需要使用hasNext()与hasNextLine()来判断是否还有输入的数据。

Scanner对象

ScannerNext

  1. 一定要读到有效字符才可以结束输入
  2. 对输入有效字符之前的空白,会去掉
  3. 对有效字符之后的空白作为分隔符或结束符
  4. next()不能得到有空格的字符串
public class Demo01 {
    public static void main(String[] args) {
//        创建一个扫描器对象,接收输入
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用Next方式接收:");
//        判断用户有没有输入字符串
        if (scanner.hasNext()){
//            使用Next方式接收
            String ab = scanner.next();
            System.out.println("输入的内容为:"+ab);
        }

        scanner.close();
//        凡是属于IO流的用完后关掉,节省资源

    }

}

ScannerNextLine

  1. Enter为结束符,也就是回车前所有字符串都是返回值
  2. 可以得到空白
public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//从键盘接收数据
        System.out.println("使用NextLine方式接收:");
//判断是否有输入
        if (scanner.hasNextLine()){
            String aa =scanner.nextLine();
            System.out.println("输入的结果为"+aa);

        }
        scanner.close();


    }
}

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;
    while (scanner.hasNextDouble()) {
        double x =scanner.nextDouble();//用户的输入
        sum=sum+x;//计算总和
        m=m+1;//输入的数字个数
        System.out.println("输入第"+m+"个数");
        System.out.println("这个数是:"+x);
    }
    System.out.println("共输入了"+m+"个数字");
    System.out.println("输入数字总和为:"+sum);
    System.out.println("输入数字平均数为:"+(sum/m));





    scanner.close();

}

}
posted @ 2021-02-15 16:09  Rookik  阅读(59)  评论(0)    收藏  举报