gpt4 book ai didi

java - Android工作室: Number with three digits do not add to count++

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:59 25 4
gpt4 key购买 nike

出于练习目的,我正在构建一个大脑训练应用程序。它看起来像这样:

enter image description here

您可以单击您认为正确的数字。每点击一个数字,右上角的计数器就会加一。如果您点击了正确的数字,旁边的计数器也会加一。

我的问题是这样的:

如果正确答案是由 2 位数字组成的。两个计数器都会增加。但是,如果正确答案是由3位数字组成的。只有右上角的计数器会增加。跟踪一些值会给我这些日志:

enter image description here

下面是检查是否按下了正确答案的代码:

public void guessFunction(View view){
TextView guessView = (TextView) view;
String buttonText = guessView.getText().toString();
Log.i("correctAnswer: ", String.valueOf(correctAnswer));
Log.i("buttonText: ", buttonText);

if (buttonText == String.valueOf(correctAnswer)){
correctCount++;
TextView correctText = (TextView) findViewById(R.id.correctText);
correctText.setText(String.valueOf(correctCount));
}
Log.i("count: ", String.valueOf(correctCount));


shuffleFunction();
}

如果需要更多代码示例,请告诉我。

最佳答案

if (buttonText.equals(String.valueOf(correctAnswer)){ ... }

通过输入object == otherObject,您可以询问两个对象的身份,无论它们是否是同一个实例(由两个变量引用)。通过输入 object.equals(otherObject),您可以询问两个不同对象的相等,即两个对象在某些方面是否相等(在 equals() 方法中实现)。

在 Java 中,您几乎总是希望将 String 与 String 类的 equals() 方法进行比较。在您的情况下,很明显您正在比较两个单独的对象(您刚刚使用 String 类的静态 valueOf 方法创建了第二个 String );因此您需要使用equals()

关于java - Android工作室: Number with three digits do not add to count++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46389173/

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