在 Java 中從 System.in 讀取輸入
Mohammad Irfan
2023年1月30日
2022年5月1日
-
在 Java 中使用
System.in
讀取輸入 -
使用 Java 中的
System.in
和BufferedReader
類讀取輸入 -
在 Java 中使用
System.console()
方法讀取輸入
本教程介紹如何使用 Java 中的 System.in
從控制檯讀取使用者輸入。
Java 提供了一個低階流類 System
來讀取使用者輸入,它使用輸入流來讀取輸入。System
是 Java 中的一個類,可幫助執行與系統相關的任務。
我們可以將它傳遞給 Scanner
類,然後使用它的方法;我們可以獲得多種型別的使用者輸入,例如 String
、int
、float
等。讓我們通過一些例子來理解。
在 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.in
和 BufferedReader
類讀取輸入
這是讀取使用者輸入的另一種解決方案,我們使用 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