我正在嘗試編寫這個程序,以便當用戶輸入一行文本時,會給出一個圖表,顯示每個字母有多少次用過的。我把它分解成一個數組,但我一直得到一個錯誤「計數[字母[a] =='a'] ++;」說我不能將字符串轉換爲字符或布爾值爲int,這取決於我的方式。我不明白爲什麼它不是所有的字符。把用戶輸入,放入一個數組並打印出每個字母被使用多少次
import java.util.*;
public class AnalysisA { //open class
public static String input;
public static String stringA;
public static void main (String args []) { //open main
System.out.println("Please enter a line of text for analysis:");
Scanner sc = new Scanner(System.in);
input = sc.nextLine();
input = input.toLowerCase();
System.out.println("Analysis A:");//Analysis A
System.out.println(AnalysisA(stringA));
} // close main
public static String AnalysisA (String stringA) { // open analysis A
stringA = input;
char[] letters = stringA.toCharArray();
int[] counts = new int[26];
for (int a = 0; a < letters.length; a++) { //open for
counts[letters[a] == 'a']++;
System.out.print(counts);
} //close for
}
使用'計數[字母[A] -'a'] ++;而不是'計數[字母'[ a] =='a'] ++;'。原因:在count [index]中,索引是int類型的。當你做'字母[a] =='a''時,這將返回一個布爾值。 – MSameer