【发布时间】:2015-12-28 21:04:20
【问题描述】:
我正在 Android Studio 中制作一个非常基本的练习应用程序,用于检查从用户那里获取的数字是否为三角形数字。例如:15。
我遇到的问题是我的if 语句的第一部分在Android Studio IDE 中用Incompatible types. Required boolean. Found int 标记number。
我已经将该方法设置为期望返回一个布尔值,并且确实如此。我不确定为什么会升起这个标志。
public void getInput() {
EditText usersInput = (EditText) findViewById(R.id.userField);
int userInputNumber = Integer.parseInt(usersInput.getText().toString());
System.out.println(userInputNumber);
Numbers checkTriangular = new Numbers();
checkTriangular.isTriangularNumber(userInputNumber);
}
class Numbers {
public boolean isTriangularNumber(int number) {
number = number*(number+1)/2;
if (number) {
return true;
} else {
return false;
}
}
【问题讨论】:
-
if (number)可能是您想要更仔细地查看的内容。 -
so ... 需要根据什么条件返回true,什么时候返回false?
-
太棒了,所以你需要类似的东西: return isTriangularNumber(number); // isTriangularNumber 如果数字是三角形则返回真,否则返回假
-
@RichardC:这与三角数无关,那你需要什么?
-
那你为什么对 Kristy 说“是”?这几乎不一样。我给了你解决问题所需的一切。