2012-02-25 56 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开关,这样代码会更容易阅读:)