Android:If/Else语句导致应用程序崩溃
我试图通过使用if/Else来判断android int是否为nullAndroid:If/Else语句导致应用程序崩溃,android,null,if-statement,Android,Null,If Statement,我试图通过使用if/Else来判断android int是否为null public void onClick(View v) { EditText min = (EditText) findViewById(R.id.EditText01); EditText max = (EditText) findViewById(R.id.maxnum); EditText res = (EditText) findViewB
public void onClick(View v) {
EditText min = (EditText) findViewById(R.id.EditText01);
EditText max = (EditText) findViewById(R.id.maxnum);
EditText res = (EditText) findViewById(R.id.res);
int myMin = Integer.parseInt(min.getText().toString());
int myMax = Integer.parseInt(max.getText().toString());
String minString = String.valueOf(myMin);
String maxString = String.valueOf(myMax);
int f = (int) ((Math.random()*(myMax-myMin+1))+myMin);
if (minString.equals(""))
{
// Do Nothing
}
if (maxString.equals(""))
{
// Do Nothing
}
res.setText(String.valueOf(f));
没有任何错误,但是当我运行应用程序时,当我按下按钮时,它会崩溃
我还尝试使用null而不是“”:
我有一次撞车
请帮帮我 int变量不能为null
do if (maxString == null )
{
// do something
}
如果要将null转换为int,则由转换器决定是设置0、抛出异常还是设置另一个值(如Integer.MIN_值)
所以,如果再次将int转换为string,则无法获得null值
public boolean equals (Object object)
将指定的对象与此字符串进行比较,如果它们相等,则返回true。对象必须是具有相同顺序的相同字符的字符串实例
因此,如果要检查其是否为空,请在对象上使用=
运算符
if (maxString == null )
使用
check=input.getText().toString();
试一试{
如果(!check.equals(“null”)){
int max=Integer.parseInt(input.getText().toString());
int=1;
int=1;
int nextNumber=0;
整数计数=0;
字符串纤维结果=”;
对于(int i=0;i logcat说什么?请发布您的logcat输出。可能是Integer.parseInt(),如果您试图解析非数字,它会崩溃。“android int为null”.int不能为null如何发布logcat输出?然后检查您的整数值和/或editText视图。您是否使用正确的editText?另外,您正在用onClick()方法编写代码。因此通常我们比较:if(v==btn1){//my code here}给我错误日志。我使用的是android:inputType=“number”在EditText中写入的任何内容都将为您提供字符串。“number”属性用于键盘类型。请复制粘贴错误日志。只需按control键,选择该行并复制错误日志,然后粘贴到此处。我得到了myMin=Integer.parseInt(min.getText().toString())周围的错误;这里check是一个字符串,它被用来检查空值,请帮助我给出一个空值的代码!我正在尝试用switch语句做一个简单的Fibonacci代码,我想检查给定的edittext输入字符串值是否为空,如果不是空值,那么if语句代码应该执行其他语句,if statement代码工作正常,但如果给定的edittext为空或null或“”,则它不会执行else语句,如果不放入try块,则会崩溃。如何使其工作?
if (maxString == null )
int myMin = 0;
int myMax = 0;
if(min.getText().toString()!="")
myMin = Integer.parseInt(min.getText().toString());
if(max.getText().toString()!="")
myMax = Integer.parseInt(max.getText().toString());
String minString = String.valueOf(myMin);
String maxString = String.valueOf(myMax);
int f = (int) ((Math.random()*(myMax-myMin+1))+myMin);
if (minString.equals(""))
{
// Do Nothing
}
if (maxString.equals(""))
{
// Do Nothing
}
check = input.getText().toString();
try {
if (!check.equals("null")) {
int max = Integer.parseInt(input.getText().toString());
int constant1 = 1;
int constant2 = 1;
int nextNumber = 0;
int count = 0;
String fibResult = "";
for (int i = 0; i <= max; i++) {
fibResult += "F" + count + "=" + nextNumber + "\n";
constant1 = constant2;
constant2 = nextNumber;
nextNumber = constant1 + constant2;
count++;
}
dspResults.setText("\n" + fibResult);
} else {
dspResults.setVisibility(View.VISIBLE);
dspResults.setText("Invalid");
dspResults.setText(Gravity.CENTER);
dspResults.setTextColor(Color.DKGRAY);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
public void onClick(View v) {
EditText min = (EditText) findViewById(R.id.EditText01);
EditText max = (EditText) findViewById(R.id.maxnum);
EditText res = (EditText) findViewById(R.id.res);
int myMin = Integer.parseInt(min.getText().toString());
int myMax = Integer.parseInt(max.getText().toString());
String minString = String.valueOf(myMin);
String maxString = String.valueOf(myMax);
int f = (int) ((Math.random()*(myMax-myMin+1))+myMin);
{
if (minString.equals(""))
{
// Do Nothing
res.setText(String.valueOf(f));
return false;
}
else if (maxString.equals(""))
{
// Do Nothing
res.setText(String.valueOf(f));
return false;
}
else
res.setText(String.valueOf(f));
return true ;
}