2012-02-25 16 views
-3

基本的に私はユーザーに "4"を入力して次の質問を表示したいが、ユーザーの場合は q = 1;if文を1つずつ読む

+0

あなたのプログラムの流れを理解するには、もっとコードが必要だと思います。また、中括弧を書式設定すると読みやすくなります。 – MrZander

+0

2番目のifを "else if"と置き換えるのはどうですか? –

+0

私はそれを他のものに置き換えようとしましたが、私にエラー – Hashey100

答えて

0

を他に働くかもしれない場合には(に応じてこれがループに入っているかどうかなど)がわかりますが、ここで最も重要なことは、& &の演算子がどのように動作するかです。 & &で区切られた2つのステートメントがある場合、最初に出現するステートメントが最初に実行されます。結果がfalseの場合、2番目のステートメントはまったく実行されません。しかし、2番目のif文で質問をしたくない場合は、

というように、ユーザがif文の中で何を入力したのかを比較しているので、問題は== 0の2番目の部分は、あなたが質問をするまで実行されません。 あなたはq ==でしょうか?条件最初の両方の場合の(または唯一存在する場合brawk1990によって示されるように2つの質問が他の使用)

私は、少なくともこのようにコードを変更します

if (q == 0 && "4".equals(answer.getText().toString())) 
{ 
    display1.setText("Correct"); 
    display.setText("4 + 9 ="); 
    answer.setText(""); 
    score++; 
    q=1; 
} 
if (q == 1 && "13".equals(answer.getText().toString())){ 
    display1.setText("Incorrect"); 
} 

行うには良い方法はたくさんありますしかし、これは何らかの宿題のように見えるので、あなたはそれを特定のやり方で行わなければならないと思っています。誰か他の人が示唆しているように、私はケース・ステートメントがより良いと思うが、そこに良いアドバイスを与えるためには、プログラム/割り当ての多くを実際に見る必要がある。

+0

私は長い返事を感謝します。それが必要でした。私のユニプロジェクトの基本的な数学クイズを作成しています – Hashey100

1

単純な「else if」は必要なことをしませんか?

+0

を与えましたが、彼は最初のものが正しければ2番目の質問に行きたいと思っています。実際にはこれはループ内にあるはずです –

0

あなたが送ったコードの部分によると、構文も悪いです。

ライト代わりに、この:コードが読みやすくなりますのでところで

if ("4".equals(answer.getText().toString())&& q==0) 
{ 
    display1.setText("Correct"); 
    display.setText("4 + 9 ="); 
    answer.setText(""); 
    score++; 
    q=1; 
}else { 
    display1.setText("Incorrect"); 
} 

を、あなたは、変数qのスイッチを使用することができます:)

関連する問題