Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 逐条读取if语句_Android - Fatal编程技术网

Android 逐条读取if语句

Android 逐条读取if语句,android,Android,基本上我希望用户输入4,然后显示下一个问题,但是当用户} q=1 如果你想做什么,一个简单的else不会吗?根据你发送的部分代码,语法也不好 写下以下内容: if ("4".equals(answer.getText().toString())&& q==0) { display1.setText("Correct"); display.setText("4 + 9 ="); answer.setText(""); score++; q=1

基本上我希望用户输入4,然后显示下一个问题,但是当用户}
q=1

如果你想做什么,一个简单的else不会吗?

根据你发送的部分代码,语法也不好

写下以下内容:

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上的开关,这样代码就更容易阅读:

else if可能会工作,这取决于它是否在循环中,但这里要学习的最重要的事情是&&运算符如何工作。当两条语句之间用&&分隔时,首先出现的语句将首先执行。。如果结果为false,则第二条语句将根本不执行。但是,如果q==0,您根本不想在第二个if语句中问这个问题

由于您正在比较用户在if语句中输入的内容,因此发生的情况是,即使问题==0,if的第二部分直到您提出问题后才执行。 你应该是q==?在这两种情况下,条件优先,或者如果只有两个问题,请使用brawk1990中所示的else

我至少会将您的代码更改为:

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");
}

虽然有很多更好的方法可以做到这一点,但这看起来像是一种家庭作业,所以我猜你必须以某种方式来做。正如其他人建议的那样,我认为案例陈述会更好,但我们确实需要更多地了解程序/作业,以便在那里给出好的建议。

我认为我们需要更多的代码来理解程序的流程。另外,设置花括号的格式会使阅读更容易。用else-if替换第二个if如何?我尝试将其替换为else-if,但这会给我一个错误,但他想转到第二个问题,如果第一个问题是正确的。。真的,这应该是在一个循环我感谢冗长的答复,真的给了我一个需要的见解。我正在为我的大学项目做一个基础数学测验