问题描述
我的代码现在看起来像这样,它正在计算单词中的字母,但是我希望我的代码能够计算单词中的每个字母,所以如果我写banana
或nine
,代码会问要算哪个字母,如果我选择“ N”,它将打印2个“ N”。请帮帮我。
System.out.println("Ange ordet du vill leta i: ");
String str1 = sc.nextLine();
System.out.println("Ange bokstaven du vill leta efter: ");
String str2 = sc.nextLine();
int count = 0;
for(int i = 0; i < str2.length(); i++) {
if(str2.charat(i) != ' ')
count++;
}
System.out.println("Antal bokstäver i ditt ord: " + count);
解决方法
您不需要一开始就计算每个字母。您应该在信数之后再数。但是要视情况而定。我假设您需要获取特定字符串中字母的计数。
您可以将计数逻辑包装在while()内,一遍又一遍。
import java.util.Scanner;
public class MyClass {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("enter word");
String s = scanner.next();
System.out.println("enter letter");
char a = scanner.next().charAt(0);
int count = 0;
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == a){
count++;
}
}
System.out.println(count);
}
}