在 Java 中從輸入中獲取一個字元

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 Scanner.next().charAt(0) 從輸入中獲取一個字元
  2. 在 Java 中使用 System.in.read() 從輸入中獲取一個字元
  3. 在 Java 中使用 InputStreamReader() 從輸入中獲取一個字元
在 Java 中從輸入中獲取一個字元

本文將介紹幾種在可用於 Java 的輸入中獲取一個字元的方法。我們可以在 Java 中輸入和讀取一整句話,但讀取單個字元的方法卻很少。下面的例子展示了幾種方法以及如何使用它們。

在 Java 中使用 Scanner.next().charAt(0) 從輸入中獲取一個字元

在第一個例子中,我們將使用 Scanner 類來獲取輸入。我們使用 scanner.next().charAt(0) 來讀取輸入的字元。charAt(0)Scanner 中讀取第一個字元。

import java.util.Scanner;

public class InputChar {
  public static void main(String[] args) d {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please input a character: ");
    char value = scanner.next().charAt(0);
    System.out.println("Character: " + value);
  }
}

輸出:

Please input a character: 
h
Character: h

在 Java 中使用 System.in.read() 從輸入中獲取一個字元

下一個例子直接使用 System.in 來呼叫 read() 方法。System.in.read() 讀取一個位元組並返回一個 int。由於每個字元都代表一個數字,我們可以將 int 轉換為字元,反之亦然。

下面,我們使用 System.in.read() 讀取輸入,然後將其轉換為 char,將其轉換為字元型別。

import java.io.IOException;

public class InputChar {
  public static void main(String[] args) throws IOException {
    System.out.println("Please input a character: ");
    char value = (char) System.in.read();
    System.out.println("Character: " + value);
  }
}

輸出:

Please input a character: 
j
Character: j

在 Java 中使用 InputStreamReader() 從輸入中獲取一個字元

另一個與前一個方法類似的方法是使用一個 InputStreamRead(),它和 System.in 一樣提供了 read() 方法。我們可以使用這個 read() 方法輸入將返回一個 int 的字元,然後將其投向一個 char,就像我們在下面的例子中所做的那樣。

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class InputChar {
  public static void main(String[] args) throws IOException {
    System.out.println("Please input a character: ");
    Reader reader = new InputStreamReader(System.in);
    int characterAsInt = reader.read();

    char character = (char) characterAsInt;
    System.out.println("Character: " + character);
  }
}

輸出:

Please input a character: 
/
Character: /
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Scanner

相關文章 - Java Char