从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);
      
    }
}