0

私の最初の Android アプリである Cat Calculator に取り組んでいます。猫がのどを鳴らした後の計算は正常に機能しますが、キャットニップやファンシーなごちそうを撫でたい場合は、猫が噛んだり無視したりする代わりに、最後の「Else」ステートメントからデバッグエラーに再び到達します。

完全なコードを提供しますが、エラーは最後の 10 行にある可能性があります...

あなたが提供できる助けに感謝します。-マイケル

    /** Called when the user clicks the CatCalculator button */
public void doCalculation(View view) {
    TextView homeAnswerView = (TextView) findViewById(R.id.homeAnswerView);
    TextView catActivityView = (TextView) findViewById(R.id.catActivityView);
    Random randomcatmood = new Random();
    double catmood = randomcatmood.nextDouble();

     if (catActivityView.getText().equals("cat calculator is sleeping on calculator")) {
         if (catmood <= 0.33) {
             catActivityView.setText("cat calculator starts purring");
         } else if (catmood <= 0.66) {
             catActivityView.setText("cat calculator wants fancy feast");
         } else {
             catActivityView.setText("cat calculator wants a catnip toy");
         }
     } else if (catActivityView.getText().equals("cat calculator starts purring")) {
        int answerInt;
        String answer;
        EditText numberOne = (EditText) findViewById(R.id.number1);
        EditText numberTwo = (EditText) findViewById(R.id.number2);
        int numberOnee = Integer.parseInt(numberOne.getText().toString());
        int numberTwoo = Integer.parseInt(numberTwo.getText().toString());
        answerInt = numberOnee * numberTwoo;
        answer = Integer.toString(answerInt);
        homeAnswerView.setText(answer);
    } else if (catActivityView.equals("cat calculator wants fancy feast")) {
        catActivityView.setText("cat calculator bites you for petting it now!");
    } else if (catActivityView.equals("cat calculator wants a catnip toy")) {
        catActivityView.setText("cat calculator bites you for petting it now!");
    } else if (catActivityView.equals("cat calculator bites you for petting it now!")) {
        catActivityView.setText("cat calculator ignores you");
    } else if (catActivityView.equals("cat calculator ignores you")) {
    } else {
        catActivityView.setText("debug: this should never happen");
    }
}
4

1 に答える 1

2

getText()後の行にたくさんの行がありません。

コードのような

catActivityView.equals("cat calculator wants fancy feast")

の内容ではなく、指定した と を比較しTextViewます。次のようなものが必要です。StringTextView

catActivityView.getText().equals("cat calculator wants fancy feast")

最初の 2 つの条件は正しいです。その 2 つ以降のものはすべて欠落していgetText()ます。

于 2013-06-29T03:49:47.890 に答える