使用Java创建Android应用程序很困难

时间:2013-03-28 05:06:28

标签: java android eclipse

我正在学习一些用于编写简单的Android应用程序的java。目前我正在研究温度转换器,如果我没有为输入输入值,就会遇到问题。

else if(tempfrom.equals("Rankine")){


        if(tempto.equals("Fahrenheit")){
            degreesout = degreesin - 459.67;
        }
        else if(tempto.equals("Celsius")){
            degreesout = (degreesin - 491.67)*(5./9.);
        }
        else if(tempto.equals("Kelvin")){
            degreesout = degreesin*(5./9.);
        }
        else{
            degreesout = degreesin;
        }
    }

    else if(degreesin.equals(null)){
        tempto = "Please Enter a Value.";
    }


    TextView answer = (TextView) findViewById(R.id.tvdegreesout);
    TextView units = (TextView)findViewById(R.id.tvUnit);
    units.setText(tempto);
    answer.setText(degreesout.toString() + " degrees");

其中tempfromtempto是与转换温度单位对应的字符串。基本上,我正在检查如果degreesin.equals(null),其中degreesin是输入值,则将字符串tempto设置为“请输入值”。然后底部的文本视图将更改为“请输入值。”

我无法弄清楚我做错了什么,而且我刚刚在两天前开始使用java,所以它可能是愚蠢的事情:P

3 个答案:

答案 0 :(得分:1)

试试这个:

Double degreesin = null

if(ettemp != null && ettemp.getText() != null && !ettemp.getText().equals("")){
    degreesin = Double.parseDouble(ettem.getText());
}

答案 1 :(得分:0)

假设您正在将degreesin值设置为

String degreesin = txtDegreesIn.getText().toString();

您必须按如下方式检查空值:

if (degreesin.trim().length() == 0){
     // handle an empty input
}

这也将禁止输入“”。

回答你的意见:

Double degreesin = null;
try {
    degreesin = Double.parseDouble(ettemp.getText().toString());
} catch (NumberFormatException nfe){
    // empty/invalid input
}

答案 2 :(得分:0)

更改您的

Double degreesin = Double.parseDouble(ettemp.getText().toString());

Double degreesin = 0;

if(!ettemp.getText().toString().equals("")){
    degreesin = Double.parseDouble(ettemp.getText().toString());
}

您获得的错误是由解析空StringDouble引起的。上面将检查一个空的String,并且只会解析该值是否为空。