你好,java中的Permute方法



我已经尝试过像c(procedure(那样的排列方法,但它不起作用,我不明白为什么它必须是静态的

  public class permute {
     public static void permute(int a,int b){
    int x=a;
    a=b;
    b=x;
}
    public static void main(String[] args){
    int a=2;int b=4;
    System.out.println("a= "+a+"b= "+b);
    permute(a,b);
    System.out.println("a= "+a+"b= "+b);

}

}

您的"排列"方法在C中也不起作用。C 和 Java 都是pass by value。在该方法中,您只是在本地交换变量。交换的值不会反映在调用方的这些变量副本中。

对于 C,请使用指针。

void permute(int * a, int * b) .

对于 Java,请使用 Integer 对象而不是 primitive int。

public static void permute(Integer a, Integer b)

最后,如果您不希望在 Java 中将此方法声明为 static,则需要创建类的实例并在该对象上调用该方法。不能在静态上下文中调用非静态方法。

最新更新