2012-07-24 66 views
0

我正在制作一个应用程序,输出一个介于1和9000之间的数字,用户选择此数字,然后将其存储为用户稍后可以调用的变量。Android条件运算符问题

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); 
    } 
} 

此代码:(数> = “” & & < = 9000)
已经错误在它指出:操作员> =未定义的参数类型(一个或多个)字符串,整数
- 我该如何解决这些错误?

在这件事情上的帮助将是美好的!

+0

只是作为一个忠告:学习Java的Android之前了解的基本语法语言。 – Dalmas 2012-07-24 21:22:24

回答

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

0

的问题是,你的号码是目前一个字符串,将其转换为int,那么你可以这样做:

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