1
import java.util.Scanner;
public class lettercounter {
public static void main(String[] args) {
Scanner lettercounter = new Scanner(System.in);
System.out.println("Enter your sentence > ");
String sentence = lettercounter.nextLine();
int length = sentence.length();
System.out.println("what letter do you seek? > ");
String letters = lettercounter.nextLine();
char letter = letters.charAt(0);
int counter = 0;
for (int i = 0; i < length + 1; i++) {
char digit = sentence.charAt(i);
if (Character.toString(digit).matches(Character.toString(letter))) {
counter++;
}
}
System.out.println("Number of '" + letter + "'s found >" + counter + "");
}
}
什么是错误的代码?我尝试这样做,但似乎有一个错误,当我运行它:它说 xception在线程“主”java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:4 在java.lang.String.charAt(未知来源) at lettercounter.main(lettercounter.java:15)“找字符”代码找到一个字中的字母数量
'我<长度+ 1'应该是'我<长度'。 –
由于某种原因,似乎已经解决了错误? –
此外,你可以使用'数字==字母',而不是'Character.toString(digit).matches(Character.toString(letter))' –