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))' –