您好,Java中的Permute方法

时间:2019-04-08 20:04:16

标签: java

我已经尝试过像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);


}

}

1 个答案:

答案 0 :(得分:-1)

您的“置换”方法在C中也不起作用。 C和Java均为pass by value。 您仅在该方法中本地交换变量。交换的值未反映在这些变量的调用方副本中。

对于C,使用指针。

void permute(int * a, int * b)

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

public static void permute(Integer a, Integer b)

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