2018年5月16日 星期三

取得使用者輸入 Scanner


Scanner(讀取)

5801Scanner(讀取)

Scanner 取得使用者輸入的數字或字串 會根據空白鍵 tab鍵 跳下一個輸入 enter鍵表示輸入完成

        

Scanner是一種類別 要new一個物件出來

Scanner sc=new Scanner (System.in);

記得要import進來

import java.util.Scanner



nextInt()     取得使用者輸入或檔案內容中的整數

nextFloat() 取得使用者輸入或檔案內容中的浮點數

NextLine()     取得使用者輸入或檔案內容中的字串 包含空白鍵 tab等按鍵  enter表示輸入完成

next()         取得使用者輸入或檔案內容中的字串 不包含空白鍵 tab等按鍵



範例1 讀取鍵盤輸入

import java.util.Scanner;

public class ScannerTest {

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        String s1 = sc.next();

        System.out.println(s1);

    }

}



範例2 讀取鍵盤輸入

int num1, num2, num3;

public class ScannerTest {

    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);

        System.out.println("請輸入三個數字(以空白鍵分開):");

        num1 = scanner.nextInt();

        num2 = scanner.nextInt();

        num3 = scanner.nextInt();

        System.out.println("您輸入第一個數字為:" + num1 );

        System.out.println("您輸入第二個數字為:" + num2 );

        System.out.println("您輸入第三個數字為:" + num3 );


    }

}



範例3 讀取檔案內容

import java.io.File;

import java.util.Scanner

public class read{

    public static void main(String[] args){

        try()

        catch(Exception e){        

        }

    }


取得使用者輸入 Scanner


Scanner取得輸入會依據空白字元、空白鍵、Tab,傳回下一個輸入。
 第一種 nextInt():取得使用者輸入的整數

import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        int num1, num2, num3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入三個數字(以空白鍵分開):");
        num1 = scanner.nextInt();
        num2 = scanner.nextInt();
        num3 = scanner.nextInt();
        System.out.println("您輸入第一個數字為:" + num1 );
        System.out.println("您輸入第二個數字為:" + num2 );
        System.out.println("您輸入第三個數字為:" + num3 );

    }
}

結果:
1
第二種 nextFloat():取得使用者輸入的浮點數

import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        float float1, float2, float3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入三個浮點數(以Tab鍵分開):");
        float1 = scanner.nextFloat();
        float2 = scanner.nextFloat();
        float3 = scanner.nextFloat();
        System.out.println("您輸入第一個浮點數為:" + float1 );
        System.out.println("您輸入第二個浮點數為:" + float2 );
        System.out.println("您輸入第三個浮點數為:" + float3 );

    }
}

結果:

2

第三種 nextLine():取得使用者輸入的字串(包含空白字元、空白鍵、Tab)

import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        String str1, str2, str3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入一字串:");
        str1 = scanner.nextLine();
        System.out.println("您輸入的字串一為:\n" + str1 );

    }
}

結果:

3

第四種 next():取得使用者輸入的字串(不包含空白字元、空白鍵、Tab)

import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        String str1, str2, str3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入一字串:(不包含空白字元、空白鍵、Tab)");
        str2 = scanner.next();
        System.out.println("您輸入的字串一為:\n" + str2 );
    }
}
結果:
4

Regular Expression 正則表示式做字串比對

Regular Expression 中文翻成正則表示式 英文簡寫為 Regex 或 RegExp RegExp 是用來比對字串是不是有符合正確的格式 語法很簡單而且大部分語言都有支援它 使用時機 譬如說你需要在程式內請使用者輸入生日 你規定的格式 1996-08...