我正在尝试编写这个程序,当用户输入一行文本时,会显示一个图表,显示每个字母使用的次数。我将其分成了一个数组,但是在 "counts [letters [a] =='a'] ++;" 中,我一直收到错误提示说无法将字符串转换为字符或布尔值转换为整数,具体取决于我放置方式。我无法弄清楚为什么它不是全部都是字符。
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
}
counts[letters[a] -'a']++;
代替counts[letters[a] == 'a']++;
。原因:在count[index]中,index的类型为int。当你执行letters[a] == 'a'
时,它返回一个布尔值。 - MSameer