无效的方法声明问题

时间:2013-04-16 19:45:32

标签: java syntax-error

为什么我在检查(值)上收到“无效的方法声明;需要返回类型”错误?

public class Swap
{
    int[] values = {5, 6, 7, 8, 9};
    check(values);


    public void swapAdjacentElemnts(int[] values)
    {
        for(int i=0; i<values.length - 1; i+=2)
        {
            int tempInt = values[i];
            values[i] = values[i+1];
            values[i+1]=tempInt;
        }
    }

    public int[] check(int[] values)
    {
        swapAdjacentElements(values);
        return values;
    }
}

3 个答案:

答案 0 :(得分:3)

您正在尝试在方法之外执行代码。您对check的调用必须存在于某种方法中,而不是在类声明中。

如果你想在构造函数中使用它,你可以这样做:

public Swap()
{
    check(values);
}

答案 1 :(得分:0)

您不能直接在类主体上放置方法调用。 该调用应该在另一个方法中(就像使用swapAdjacentElements)。

也许你的意思是在类的构造函数中或在main方法中进行检查。

public class Swap
{
    int[] values = {5, 6, 7, 8, 9};

    public Swap() { //class constructor
        check(values);
    }

    public static void main(String[] args) { //main method
        check(values);
    }

    //everything else..
}

希望有所帮助。

答案 2 :(得分:0)

在某些情况下,您应该在声明其他方法/函数后执行函数。