如何在Java中使用Scanner類讀取單個字元?
從Java 1.5開始引入了Scanner類。此類接受File、InputStream、Path和String物件,使用正則表示式逐個標記讀取所有基本資料型別和字串(來自給定源)。預設情況下,空格被視為分隔符(將資料分成標記)。
使用Scanner類讀取字元
Scanner類提供nextXXX()方法(其中xxx是int、float、boolean等),用於讀取各種基本資料型別。但它從未提供讀取單個字元的方法。
但是,您仍然可以使用此類讀取單個字元。
- Scanner類的next()方法以字串格式返回源的下一個標記。這將讀取單個字元(由分隔符分隔)作為字串。
String str = sc.next();
- String類的toCharArray()方法將當前字串轉換為字元陣列。
char ch[] = str.toCharArray()
- 您可以從陣列中獲取儲存在第0個位置的字元。
char myChar = ch[0];
示例
以下示例使用Scanner類從使用者讀取單個字元。
import java.util.Scanner;
public class ContentsOfFile {
public static void main(String args[]) throws Exception {
//Creating a Scanner object
Scanner sc = new Scanner(System.in);
//Creating a StringBuffer object
System.out.println("Enter your grade: (A, B, C, D)");
char grade = sc.next().toCharArray()[0];
if(grade == 'A'){
System.out.println("You are very good, you have been promoted");
}else if(grade=='B'){
System.out.println("You are good, you have been promoted");
}else if(grade=='C'){
System.out.println("You are average, you have been " + "promoted, you need to work hard");
}else if(grade=='D'){
System.out.println("You are not promoted, try again");
}else {
System.out.println("Improper input");
}
}
}輸出
Enter your grade: (A, B, C, D) C You are average, you have been promoted, you need to work hard
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP