Android条件运算符问题

时间:2012-07-24 21:18:16

标签: android if-statement

我正在制作一个输出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);
    }
}

此代码:(数字&gt; =“”&amp;&amp;&lt; = 9000)
它有错误说明:运算符&gt; =未定义参数类型String,int
- 我该如何修复这些错误?

这件事的帮助会非常棒!

2 个答案:

答案 0 :(得分: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/catch blocks以及Android EditText digit restrictions进行自我教育,最后if statementsmultiple conditionals进行自我教育。

答案 1 :(得分:0)

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

int number = Integer.valueOf(urNum.getText().toString());
if (number >= 0 && number <= 9000)