如何在Java中讀取使用者用空格分隔的輸入?
輸入和輸出是所有程式語言的重要組成部分。Java也不例外。使用者輸入對於建立動態和互動式應用程式至關重要。通常輸入是一個單值,但我們也可以讀取使用者用空格分隔的輸入。本文介紹如何在Java中讀取使用者用空格分隔的輸入。
在Java中讀取用空格分隔的使用者輸入的方法
我們可以透過兩種方法讀取使用者用空格分隔的輸入。它們如下:
使用Scanner類
使用BufferedReader類,然後分割並解析單個值
Scanner類
使用Scanner類是讀取使用者用空格分隔的輸入的一種方法。我們將使用Scanner類的方法。它位於java.util包中。Scanner類有很多方法可以讀取使用者輸入。
Scanner類方法
| nextInt() | 用於讀取並返回下一個整數值。 |
| nextFloat() | 用於讀取並返回下一個浮點值。 |
| nextDouble() | 用於讀取並返回下一個雙精度值。 |
| next() | 用於讀取並返回下一個單詞值作為字串。 |
| nextLine() | 用於讀取並返回多個單詞值作為字串。 |
| nextLong() | 用於讀取並返回下一個長整數值。 |
| nextShort() | 用於讀取並返回下一個短整數值。 |
| nextByte() | 用於讀取並返回下一個位元組值。 |
| nextBoolean() | 用於讀取並返回下一個布林值。 |
步驟
我們將在這裡使用nextFloat()方法來理解如何讀取使用者用空格分隔的輸入。這些步驟可以應用於上面提到的其他方法。
nextFloat()方法將掃描使用者輸入
輸入將儲存在陣列中
示例
以下是用Java中的Scanner類讀取使用者用空格分隔的輸入的示例。
//import the java.util package
import java.util.*;
public class Main {
public static void main(String args[])
{
Scanner scn= new Scanner(System.in);
System.out.println("Enter 8 values ");
float[] val = new float[8];
//to store the input values
for (int i = 0; i < val.length; i++) {
val[i] = scn.nextFloat();
}
//print the values
System.out.println("The values are ");
for (int i = 0; i < val.length; i++) {
System.out.println(val[i]);
}
}
}
輸出
以下是上述程式碼的輸出
Enter 8 values 12 89 43 67 51 39 91 87 The values are 12.0 89.0 43.0 67.0 51.0 39.0 91.0 87.0
解釋
在上面的程式碼中,我們建立了一個Scanner物件。由於我們想要讀取用空格分隔的輸入,因此我們使用迴圈迭代8次,允許使用者使用Scanner類的nextFloat()方法逐個輸入值。每個輸入值都儲存在val陣列的相應索引中。
BufferedReader類
使用BufferedReader類,程式碼透過讀取一行,將其分割成單個值,然後解析單個值來讀取使用者輸入。這是最原始的方法,BufferedReader類位於java.io包中。
readLine()方法用於讀取一行並將其儲存為字串。如果必須將字串轉換為其他資料型別,則必須顯式型別轉換。
步驟
我們將使用BufferedReader類中的readLine()方法來掃描包含空格的字串。
我們將使用split()方法(以空格作為引數)分割字串。
現在,由於輸入是字串陣列的形式,如果所需的資料型別不同,我們可以進行轉換。
示例
以下是用Java中的BufferedReader類讀取使用者用空格分隔的輸入的示例。
//import the java.io package
import java.io.*;
class Main {
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//array
float num[] = new float[8];
System.out.println("Enter the string of values separated with spaces ");
//split the string
String[] val = br.readLine().split(" ");
//parse individual values
for (int i = 0; i < val.length; i++) {
num[i] = Integer.parseInt(val[i]);
}
System.out.println("The values are ");
//print
for (int i = 0; i < val.length; i++) {
System.out.println(num[i]);
}
}
}
輸出
以下是上述程式碼的輸出:
Enter the string of values separated with spaces 12 13 14 15 18 19 17 16 The values are 12.0 13.0 14.0 15.0 18.0 19.0 17.0 16.0
解釋
在上面的程式碼中,我們建立了一個BufferedReader類。因此,BufferedReader類中的readLine()方法掃描包含空格的字串。然後我們將字串分割成單個值,然後解析這些值。
因此,我們瞭解瞭如何在Java中讀取使用者用空格分隔的輸入。我們可以根據自己的偏好和需求使用Scanner類或BufferedReader類來讀取輸入。這使我們能夠建立更靈活的程式。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP