0

Javaを始めたばかりで、遊んでいます。

入力の文字「e」をカウントしたい次のコードがありますが、出力は毎回「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);
}

}

4

1 に答える 1

1

for ループで使用していて、 の代わりに のx各文字を反復処理しているため、 を実行する必要があります。また、インクリメント/デクリメント演算子の使用方法を調べることもできます。そのトピックに関する詳細情報を次に示します。foodfood.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);
     }
}
于 2013-10-10T18:14:53.300 に答える