首页 > 解决方案 > 使用类方法之类的函数

问题描述

这是我的代码:

 public class MainActivity extends AppCompatActivity {

    int mazzo[]=new int[40];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mescolamento(mazzo);
    }



    public void mescolamento(int[] array) { //THIS 

        int n = array.length;
        Random random = new Random();
        random.nextInt();
        for (int i = 0; i < n; i++) {
            int change = random.nextInt(n -i);
            swap(array, i, change);
        }
    }

    public void swap(int[] mazzo2, int i, int change) {
        int appoggio = mazzo2[i];
        mazzo2[i] =  mazzo2[change];
        mazzo2[change] = appoggio;
    }
}

是否可以将此功能转移到一个类中?它也可以这样工作,但我需要使 mainActivity 更清晰。

标签: android

解决方案


您可以使其成为不同类中的静态方法。如果您愿意,交换方法可以是私有的。仅取决于您是否会在其他任何地方使用它。

public class ClassName {
    public static void mescolamento(int[] array) { //THIS 

        int n = array.length;
        Random random = new Random();
        random.nextInt();
        for (int i = 0; i < n; i++) {
            int change = random.nextInt(n -i);
            swap(array, i, change);
        }
    }  



public static void swap(int[] mazzo2, int i, int change) {
        int appoggio = mazzo2[i];
        mazzo2[i] =  mazzo2[change];
        mazzo2[change] = appoggio;
    }
}

然后用

ClassName.mescolamento(array)

推荐阅读