1. 程式人生 > 其它 >javaSE——Scanner用法

javaSE——Scanner用法

Scanner物件

  • 用來獲取使用者輸入。
  • java.util.Scanner是Java5的新特性
  • 建立的基本語法:
Scanner scanner = new Scanner(System.in);

...
    
scanner.close();
  • 通過Scanner類的next()nextLine()方法獲取輸入的字串

    • 在讀取前我們一般需要使用hasNext()hasNextLine()判斷是否還有輸入的資料。
  • next():

    • 一定要讀到有效字元後才可以結束輸入
    • 一遇到空白符號就作為結束符
    • next()不能得到帶有空格的字串
  • nextLine():

    • Enter

      為結束符

    • 可以獲得帶空白字元的字串

      package com.kuang.scanner;
      
      import java.util.Scanner;
      
      public class Demo01 {
          public static void main(String[] args) {
              
              //建立一個掃描器物件,用於接收鍵盤資料
              Scanner scanner = new Scanner(System.in);
      
              System.out.println("使用next方式接收:");//輸入hello world
      
              //判斷使用者有沒有輸入字串
              //如果輸入了
              if (scanner.hasNext()) {
                  //使用next方式接收
                  String str = scanner.next();
                  System.out.println("輸出的內容為:" + str);//輸出hello
              }
              
              //凡是屬於IO流的類如果不關閉會一直佔用資源,要養成良好習慣用完關掉
              scanner.close();
          }
      }
      
      
      package com.kuang.scanner;
      
      import java.util.Scanner;
      
      public class Demo02 {
          public static void main(String[] args) {
              
              Scanner scanner = new Scanner(System.in);
      
              System.out.println("使用nextLine方式接收:");//輸入hello world
      
              if (scanner.hasNext()) {
                  String str = scanner.nextLine();
                  System.out.println("輸出的內容為:" + str);//輸出hello world
              }
              
              scanner.close();
          }
      }
      
      
      、、其實這個demo用不到if,前面寫上if也只是為了介紹下if這種判斷用法
      
      package com.kuang.scanner;
      
      import java.util.Scanner;
      
      public class Demo03 {
          public static void main(String[] args) {
              
              Scanner scanner = new Scanner(System.in);
      
              System.out.println("請輸入:");//輸入hello world
      
              
              String str = scanner.nextLine();
              System.out.println("輸出的內容為:" + str);//輸出hello world
            
              
              scanner.close();
          }
      }
      
      

進階

package com.kuang.scanner;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        //我們可以輸入多個數字,並求其總和與平均數,每輸入一個數字用回車確認;通過輸入非doble來結束輸入並輸出最終結果
        Scanner scanner = new Scanner(System.in);

        //和
        double sum = 0;
        //計數器
        int m = 0;

        // 通過迴圈判斷是否還有輸入,並在裡面對每一次進行求和和展示
        // 迴圈終止條件:沒有輸入double型別數字,比如'x'
        while (scanner.hasNextDouble()) {
            double x = scanner.nextDouble();

            sum += x;
            m++;
            System.out.println("你輸入了第" + m + "個數據,當前結果sum=" + sum);
        }

        System.out.println(m + "個數的和為:" + sum);
        System.out.println(m + "個數的平均值為:" + (sum / m));

        scanner.close();

    }
}