Подсчитайте букву в слове из сканера, Java

#java #count #letter

#java #считать #буква

Вопрос:

Мой код выглядит так прямо сейчас, он считает буквы в слове, но я хотел бы, чтобы мой код считал каждую букву в слове, поэтому, если я напишу 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);
  

Комментарии:

1. в чем именно заключается ваш вопрос?

2. Вам просто нужно изменить if , чтобы оно было true только в том случае, если символ является символом, который вы должны считать.

3. Также Java не является javascript. Они никак не связаны.

4. Вы действительно близки. Во-первых, str1 это строка, которую вы хотите просмотреть, поэтому вам нужно изменить цикл for, чтобы выполнить итерацию str1 вместо str2 . Тогда ваш оператор if должен быть if(str1.charAt(i) == str2.charAt(0) . Если вы сделаете это, вы посетите каждый символ в str1 и сравните его с первой буквой str2 , которая в любом случае должна содержать только одну букву. При желании вы можете добавить некоторую проверку ввода, поэтому, если пользователь вводит более одной буквы в str2 или вообще ничего не вводит, вы можете повторно запросить ввод.

Ответ №1:

Вам не нужно сначала считать каждую букву. Вы должны считать после получения буквы для подсчета. Но в зависимости от сценария. Я предполагаю, что вам нужно получить количество букв в определенной строке.

Вы можете обернуть логику подсчета в 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);
      
    }
}