android - 使用类方法之类的函数
问题描述
这是我的代码:
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 更清晰。
解决方案
您可以使其成为不同类中的静态方法。如果您愿意,交换方法可以是私有的。仅取决于您是否会在其他任何地方使用它。
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)
推荐阅读
- c# - Identity asp.net core 3.0 - 找不到 IdentityDbContext IdentityDbContext
找不到合适的方法来覆盖 - python - 通过 CSV 文件运行并将当前条目和以前条目之间的正差异添加到变量的代码
- c# - Xaml 按钮命令不会触发
- r - 如何绘制具有 10 列的数据框?
- r - 如何使用 Sys.Date() 获取上一年(2020 年)的数据提取?
- javascript - Tailwindcss 滚动条不显示
- javascript - 如何修复“TypeError:表达式'月'[未定义]的结果不是对象”
- git - Github Actions 修改 repo
- mysql - Visual Studio 代码:sqltools.getChildrenForTreeItem
- python - 如何将最小值限制为高于特定值?