0

ここで少し問題があります。最後に apublic Stringと areturnがあります。return は値を取得する必要があるため、別のクラスで使用できますが、これは起こっていません。その文字列を別のクラスから呼び出した後、テキストフィールドにテキストを設定したいと思います。for ループ内に何かが欠けているような気がしますが、何がわかりますか? ヒントと回答をよろしくお願いします:)

public String Question (String quesion)
    {
        RandomMathQuestionGenerator questionGenerator = new RandomMathQuestionGenerator();
        List<Question> randomQuestions = questionGenerator.getGeneratedRandomQuestions();
        for (Question question : randomQuestions) 
        {
            System.out.println(question);//prints questions
        }
        return quesion;
    }

私が持っている別のクラスで

String ArithmeticQuestion = null;
    ArithmeticQuestion = question.Question(ArithmeticQuestion);

    EditText editText = (EditText)findViewById(R.id.displayBox);
    editText.setText(ArithmeticQuestion);
4

2 に答える 2

3

Question に null を渡しています (Java ではメソッドと変数は小文字で始まる必要があります)。Question はその null を返し、次に Null を ArithmeticQuestion に割り当てています。それはおそらくあなたがやりたいことではありません。

リストからランダムな質問を返したい場合は、次のようにすることができます。

public String Question (String quesion)
{
    RandomMathQuestionGenerator questionGenerator = new RandomMathQuestionGenerator();
    List<Question> randomQuestions = questionGenerator.getGeneratedRandomQuestions();
    for (Question question : randomQuestions) 
    {
        System.out.println(question);//prints questions
    }
    Random random = new java.util.Random();
    return randomQuestions.get(random.nextInt(randomQuestions.size())).toString();
}

ただし、まだ質問を使用していないため、メソッドをパラメーターなしの引数に変更できます。

于 2013-03-04T02:57:17.677 に答える
0

Question メソッドで「quesion」を使用したことがないため、null が返されます。要件に基づいてメソッドを更新する必要があります。

あなたのプログラムは、意味のあるメソッド名、変数名などを保持するなど、N 個の Java コーディング慣行に違反しています。

また、リストから文字列を取得するロジック全体が欠落しています。

于 2013-03-04T03:01:10.037 に答える