2

Why am I getting an "invalid method declaration; return type required" error on check(values); ?

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;
    }
}
4

3 回答 3

3

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

如果您打算将其放在构造函数中,则可以这样做:

public Swap()
{
    check(values);
}
于 2013-04-16T19:48:54.473 回答
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..
}

希望有帮助。

于 2013-04-16T20:01:12.600 回答
0

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

于 2015-05-14T16:38:19.093 回答