从扫描仪中计算单词中的字母,java

Count letter in a word from scanner, java

我的代码现在看起来像这样,它正在计算单词中的字母,但我希望我的代码能够计算单词中的每个字母,所以如果我写 banananine,该代码将询问要计算哪个字母,如果我选择“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);
      
    }
}