1. 程式人生 > 其它 >經典50題-資料準備

經典50題-資料準備

使用者互動Scanner

Scanner物件

  • 之前我們學的基本語法中我們並沒有實現程式和人的互動,但是 Java 給我們提供了這樣一個工具類,我們可以獲取使用者的輸入。 javautil . Scanner 是Java5的新特徵,我們可以通過 Scanner 類來獲取使用者的輸入

  • 基本語法:

  • Scanner s = new Scanner ( System . in );
  • 通過 Scanner 類的next()nextLine()方法獲取輸入的字串,在讀取前我們一般需要使用hasNext()hasNextLine()判斷是否還有輸入的資料

next()

  • 一定要讀取到有效字元後才可以結束輸入

  • 對輸入有效字元之前遇到的空白,next()方法會自動將其去掉。

  • 只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結東符。

  • next()不能得到帶有空格的字串。

  • import java.util.Scanner;
    public class Demo01 {
    public static void main(String [] args){
    //建立一個掃描物件,用於接收鍵盤資料
    Scanner scanner =new Scanner(System.in);
    System.out.println("請輸入");
    //判斷使用者有沒有輸入字串
    if (scanner.hasNext()){
    //使用next方式接受
    String age = scanner.next();//scanner.naxt():
    System.out.println("輸出的內容為"+age);
    }
    scanner.close();//關閉scanner
    }
    }

nextLine()

  • 以 Enter 為結束符,也就是說nextLine()方法返回的是輸入回車之前的所字元。

  • 可以獲得空白。

  • import java.util.Scanner;
    public class Demo02 {
    public static void main(String[] args) {
    //從鍵盤接收資料
    Scanner scanner = new Scanner(System.in);
    System.out.print("請輸入");
    //判斷是否還有輸入
    if (scanner.hasNextLine());
    String name = scanner.nextLine();//scanner.nextLine();
    System.out.println("名字:"+name);
    scanner.close();

    }
    }

    進階版


    import java.util.Scanner;

    public class Demo08 {
    public static void main(String[] args) {
    //輸入多個數字,求其和與平均數。沒輸入一個數字用回車確認,通過輸入非數字來來結束輸入並執行結果
    Scanner scanner = new Scanner(System.in);
    double sum = 0;//計算和
    int i = 0;//計算輸入多少個數字
    System.out.println("請輸入數字");
    while (scanner.hasNextDouble()){
    double x = scanner.nextDouble();
    sum = sum + x;
    i += 1;
    System.out.println("輸入第"+i+"數字"+"和為"+sum);
    }
    System.out.println("總共輸入"+i+"個數據"+"和為"+sum);
    System.out.println("總共輸入"+i+"個數據"+"平均值為"+sum/i);
    scanner.close();

    }

    }