0

我正在制作一个应用程序,该应用程序输出 1 到 9000 之间的数字,用户选择这个数字然后存储为用户可以稍后调用的变量。

    public void onClick(View v) {
    // TODO Auto-generated method stub
    String number = urNum.getText().toString();
    if (number >= " " && <= 9000) {

        numOut.setText("Your number is set to: " + number);
    }
}

此代码: (number >= " " && <= 9000)
中有错误指出: 运算符 >= 未定义参数类型 String, int
-我该如何解决这些错误?

在这件事上的帮助会很棒!

4

2 回答 2

1

首先,这不是有效的 Java 语法。您必须每次都指定变量。其次,您不能将数字与空字符串进行比较,您必须先将其转换为整数,然后将其与另一个整数进行比较。

public void onClick(View v) {
    // TODO Auto-generated method stub
    String numberString = urNum.getText().toString().trim();
    int number = Integer.valueOf(numberString);
    if (number >= 1 && number <= 9000) {
        numOut.setText("Your number is set to: " + number);
    }
}

如果输入的值有可能不是数字,您也需要处理:

public void onClick(View v) {
    // TODO Auto-generated method stub
    String numberString = urNum.getText().toString();
    int number;
    try {
        number = Integer.valueOf(numberString);
    } catch (NumberFormatException nfe) {
        number = 0;
    }
    if (number >= 1 && number <= 9000) {
        numOut.setText("Your number is set to: " + number);
    }
}

注意:您可能希望了解有关try/catchAndroidEditText数字限制以及最后带有多个条件的if语句的知识。

于 2012-07-24T21:20:46.077 回答
0

问题是您的号码当前是一个字符串,将其转换为 int,然后您可以执行以下操作:

int number = Integer.valueOf(urNum.getText().toString());
if (number >= 0 && number <= 9000)
于 2012-07-24T21:23:58.907 回答