gpt4 book ai didi

java - Android Studio if/Else 语句不能正常工作

转载 作者:行者123 更新时间:2023-11-30 10:26:28 24 4
gpt4 key购买 nike

我不知道为什么,但我在这里的 if/else 语句不能正常工作。它与给定条件相反。

public class MainActivity extends AppCompatActivity {

private int rand1;
private int rand2;
private int points;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

points=0;
pickRandomNumbers();
}

private void pickRandomNumbers()
{
Random randy = new Random();
int rand1 = randy.nextInt(10);
int rand2 = randy.nextInt(10);
Button lbutt = (Button) findViewById(R.id.left_button);
lbutt.setText(Integer.toString(rand1));
Button rbutt = (Button) findViewById(R.id.right_button);
rbutt.setText(Integer.toString(rand2));
}

public void leftButtonClick(View view) {
if (rand1 >= rand2){
points++;

} else {
points--;

}

TextView tv = (TextView) findViewById(R.id.points_fields);
tv.setText("Points: " + points);
pickRandomNumbers();
}

public void rightButtonClick(View view) {
if (rand2 >= rand1){
points++;

} else {
points--;

}

TextView tv = (TextView) findViewById(R.id.points_fields);
tv.setText("Points: " + points);
pickRandomNumbers();
}
}

它应该在 rand1 大于 rand2 时增加点数,并在它小于 rand2 时减少点数,但它只是继续增加点数。

当我将 rand1>=rand2 更改为 rand1>rand2 时,它只会减少点数。两个按钮功能都发生了同样的情况。请帮助我理解这一点。

最佳答案

您在类的顶部声明了两个全局变量 rand1rand2。稍后,您再次声明两个具有相同名称的变量。 Java 接受它作为有效代码,因为前两个可以被引用为 this.rand1this.rand2。当您真的只想创建变量一次时,您创建了两次变量。

如果在第二个声明之前删除 int,应该没问题。

关于java - Android Studio if/Else 语句不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45701474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com