Код для поиска конкретного письма помощи

Я только начал Java, и я играю вокруг.

У меня есть следующий код, который я хочу посчитать букву "е" вашего ввода, но каждый раз вывод "0". Что я делаю неправильно? Благодарю.

import javax.swing.JOptionPane;
public class JavaApplication6 {
public static void main(String[] args, int z) {
 int y,z = 0;
 String food;
 food = JOptionPane.showInputDialog("Are you curious how many \"e\"s there are in your favorite Food? Then Type your favorite food and I will tell you!");  
       char letter = 'e';


 for(int x = 0; x < food.length();x++){
     if(food.charAt(z)== letter){
         y = y++;
     }
 }
 JOptionPane.showMessageDialog(null, "it has: " + y);
}

}

1 ответ

Решение

Так как вы используете x в вашем для цикла, и итерации по каждому символу в food, вместо food.charAt(z), ты должен делать food.charAt(x), Кроме того, вы можете посмотреть, как использовать операторы увеличения / уменьшения. Вот еще немного информации на эту тему.

Я немного изменил ваш код (в основном форматирование), но это должно решить вашу проблему:

import javax.swing.JOptionPane;

public class JavaApplication6 {
    public static void main(String[] args) {
        int y = 0;
        char letter = 'e';
        String food = JOptionPane.showInputDialog("Are you curious how many \"e\"s " +
             "there are in your favorite Food? Then Type your favorite food and I " + 
             "will tell you!");  

        for(int x = 0; x < food.length(); x++)
            if(food.charAt(x) == letter)
                y++;

        JOptionPane.showMessageDialog(null, "it has: " + y);
     }
}
Другие вопросы по тегам