在 Java 中從 System.in 讀取輸入

Mohammad Irfan 2023年1月30日 2022年5月1日
  1. 在 Java 中使用 System.in 讀取輸入
  2. 使用 Java 中的 System.inBufferedReader 類讀取輸入
  3. 在 Java 中使用 System.console() 方法讀取輸入
在 Java 中從 System.in 讀取輸入

本教程介紹如何使用 Java 中的 System.in 從控制檯讀取使用者輸入。

Java 提供了一個低階流類 System 來讀取使用者輸入,它使用輸入流來讀取輸入。System 是 Java 中的一個類,可幫助執行與系統相關的任務。

我們可以將它傳遞給 Scanner 類,然後使用它的方法;我們可以獲得多種型別的使用者輸入,例如 Stringintfloat 等。讓我們通過一些例子來理解。

在 Java 中使用 System.in 讀取輸入

在 Java 程式碼中使用 System.in 很容易;在 Scanner 建構函式中傳遞類並使用 nextLine() 方法。此方法讀取並返回一個字串。

請參見下面的示例。

import java.util.Scanner;

public class SimpleTesting{
    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a value :");
        String str = sc.nextLine();
        System.out.println("User input: "+str);

    }
}

輸出:

Enter a value :
2
User input: 2

使用 Java 中的 System.inBufferedReader 類讀取輸入

這是讀取使用者輸入的另一種解決方案,我們使用 BufferedReader 類而不是 Scanner 類。這段程式碼執行相同的任務,我們在這裡使用 readLine() 方法來讀取資料。

此方法屬於 BufferedReader 類並返回一個字串。請參見下面的示例。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleTesting{
    public static void main(String[] args) throws IOException{

        System.out.println("Enter a value :");
        BufferedReader br = new BufferedReader(
                new InputStreamReader( System.in ));
        String str = br.readLine();
        System.out.println(str);

    }
}

輸出:

Enter a value :
sam
sam

在 Java 中使用 System.console() 方法讀取輸入

Java System 類提供了 console() 方法來處理與控制檯相關的任務。所以,要讀取資料,我們也可以使用這種方法。

此方法返回一個控制檯物件,我們可以通過該物件呼叫 readLine() 方法來讀取資料。請參見下面的示例。

import java.io.Console;
import java.io.IOException;

public class SimpleTesting{
    public static void main(String[] args) throws IOException{

        Console c = System.console();    
        System.out.println("Enter a value : ");    
        String str = c.readLine();    
        System.out.println(str); 
    }
}

輸出:

Enter a value :
sam
sam

Java Scanner 類通常用於讀取使用者資料併為每種資料型別提供方法。

我們可以使用這些方法來讀取特定的資料。其中一些如下。

public int nextInt();        // reads integer input
public float nextFloat();    // reads decimal input
public String nextLine();    // reads string input

在下面的示例中,我們使用這些方法來讀取 Java 中不同型別的使用者輸入。它將幫助你瞭解 Java 控制檯。

請參見下面的示例。

import java.io.IOException;
import java.util.Scanner;

public class SimpleTesting{
    public static void main(String[] args) throws IOException{

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a string value : ");    
        String str = sc.nextLine();
        System.out.println(str);
        System.out.println("Enter an int value : ");
        int a = sc.nextInt();
        System.out.println(a);
        System.out.println("Enter a float value : ");
        float f = sc.nextFloat();
        System.out.println(f);
    }
}

輸出:

Enter a string value : 
string
string
Enter an int value : 
23
23
Enter a float value : 
34
34.0

相關文章 - Java Input