我正在制作一个输出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
- 我该如何修复这些错误?
这件事的帮助会非常棒!
答案 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
statements与multiple conditionals进行自我教育。
答案 1 :(得分:0)
问题是您的号码当前是一个字符串,将其转换为int,然后您可以执行以下操作:
int number = Integer.valueOf(urNum.getText().toString());
if (number >= 0 && number <= 9000)