Java要求类的return语句

时间:2015-03-12 00:44:30

标签: java class return

我有以下代码:

public class BinaryDecoder{
public static void main(String[] args){
    String binNum = "110101"; 
    int res = 0;
    for (int i = 0;i<binNum.length();i++){
        //res += parseDigit(binNum.charAt(i),binNum);
    }
//  System.out.println(res);

}
public static int parseDigit(int index, String binNum){
    switch (binNum.charAt(index)){
        case 0:
        break;
        case 1:
        int val = (int) Math.pow(2,-index+binNum.length());
        return val;
        }
}

}

我收到错误:BinaryDecoder.java:30:错误:缺少return语句 } ^

我可能已经解释了这个错误,但为什么我的类BinaryDecode有甚至需要一个return语句?代码还有其他问题吗?

注意:我在java中相当新,如果我的代码中有任何明显的错误,那就很抱歉。

3 个答案:

答案 0 :(得分:5)

不需要return语句;它是parseDigit函数,您声明它返回int。当你说过它时,有可能不返回值是错误的。

答案 1 :(得分:3)

该类不需要返回语句,parseDigit方法。在其签名中,它声称返回int。你对该方法有一个return语句,但因为它在switch语句中,所以不能保证会发生。

答案 2 :(得分:2)

问题与您的parseDigit课程有关。

如果大小写为0,则没有返回,编译失败。试试这个:

public static int parseDigit(int index, String binNum){
    switch (binNum.charAt(index)){
        case 0:
        return SOMETHING;
        break;
        case 1:
        int val = (int) Math.pow(2,-index+binNum.length());
        return val;
        default:
        return -1;
        break;
    }