2012-02-25 19 views
-3

Bassicly我希望用戶輸入「4」,然後顯示下一個問題,但是當用戶} q = 1;逐條朗讀if-statement

+0

我想我們需要更多的代碼來了解程序如何流動。另外,格式化大括號可以使閱讀起來更容易。 – MrZander 2012-02-25 18:49:01

+0

如果用「else if」替換第二個如何? – 2012-02-25 18:50:27

+0

我試圖將其替換爲其他,但它給了我一個錯誤 – Hashey100 2012-02-25 19:38:42

回答

0

的否則,如果可能的工作(根據如果這是一個循環或什麼),但這裏要學的最重要的事情是如何運作的。當你有兩條語句分隔& &時,首先出現的語句將首先執行。如果結果爲假,第二條語句根本不會執行。但是,如果q == 0

您不想在第二條if語句中詢問問題因爲您正在比較用戶在if語句中輸入的內容,所發生的情況是即使問題== 0 if的第二部分在你問這個問題之後才執行。 你應該是q ==?條件首先在兩種情況下(或者,如果只有2個問題,用其他如brawk1990所示)

我想你的代碼至少改成這樣:

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

我欣賞冗長的答覆,真的給了我一個見解這是需要的。並即時創建我的uni項目的基本數學測驗 – Hashey100 2012-02-25 19:34:46

1

不是一個簡單的「其他如果」做你想要的?

+0

但他想要去第二個問題,如果第一個是正確的..真的這應該是在一個循環 – 2012-02-25 19:11:40

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開關,這樣代碼會更容易閱讀:)