HOWTO · Java

如何在 Java 中從控制檯獲取輸入

本教程展示了 Scanner 類中包含的讀取控制檯輸入的各種功能。

本頁內容

在本教程中,我們將檢視 Java 中的 Scanner 類,並學習如何使用該類從控制檯讀取輸入。Scanner 類來自於 Java 包 java.util.Scanner

在下面的例子中,我們將通過 Scanner 類的方法來讀取不同資料型別的輸入,如 StringIntboolean

使用 Java 中的 Scanner 類從控制檯獲取輸入

String 資料型別通常用於從控制檯獲取輸入。Scanner 有兩個函式 next()nextLine(),它們把輸入當作 String。這兩個函式的不同之處在於,next() 在遇到空格之前都會接受輸入,而 nextLine() 則會讀取輸入,直到看到新的行。

在我們的例子中,我們使用 nextLine() 方法,因為我們可能希望在一行中有多個單詞。

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    System.out.println("Please enter your name: ");
    Scanner sc = new Scanner(System.in);
    String yourName = sc.nextLine();
    System.out.println("Hello " + yourName);
  }
}

輸出:

Please enter your name: 
Mike Stuart
Hello Mike Stuart

使用 Java 中的 Scanner 類讀取整數輸入

我們也可以使用 Scanner 從控制檯獲取 int 值。nextInt() 幫助我們讀取 int 值。在下面的例子中,它詢問年齡,通常讀作 int

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    System.out.println("Please enter your age: ");
    Scanner sc = new Scanner(System.in);
    int scanAge = sc.nextInt();
    System.out.println("You are " + scanAge + " years old");
  }
}

輸出:

Please enter your age: 
23
You are 23 years old

使用 Java 中的 Scanner 類讀取布林值輸入

我們也可以使用布林值作為輸入。Scanner.nextBoolean() 只讀取 truefalse01

在下面的例子中,我們接收輸入,然後檢查輸入是 true 還是 false

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    System.out.println("Are you studying in college? Answer as True or False");
    Scanner scanStudy = new Scanner(System.in);
    boolean studyingInCollege = scanStudy.nextBoolean();
    if (studyingInCollege) {
      System.out.println("You are studying in college");
    } else {
      System.out.println("You are not studying in college");
    }
  }
}

輸出:

Are you studying in college? Answer as True or False
false
You are not studying in college