返回Double类型的值时出错?

时间:2012-04-11 08:34:54

标签: java android

在此方法中,我返回Double类型的值,但是出现错误“Method

必须返回Double类型的值“???

代码

public class Gyro extends Activity {

Double gyro_X;
Double gyro_Y;
Double gyro_Z;

public Double getGyro_X() {
    if (this.gyro_X == null) {
        Toast.makeText(this, ""+gyro_XIsNullText, ToastdurationShort).show();
    } else { 
    return this.gyro_X;
    }
}

2 个答案:

答案 0 :(得分:5)

如果this.gyro_xnull,则不返回任何内容......
你的代码应该是

public Double getGyro_X() {
    if (this.gyro_X == null) {
        Toast.makeText(this, ""+gyro_XIsNullText, ToastdurationShort).show();
        return null;
        //Or maybe: throw new NullPointerException();
    } else { 
    return this.gyro_X;
    }
}

答案 1 :(得分:2)

如果this.gyro_x为null,则永远不会输入else分支。你只在else分支中有一个return语句。在if分支或方法末尾添加一个,如果this.gyro_x的类型为Double,它应该可以工作。