java - 使用我的代码中的 2 个变量创建循环(Android)
问题描述
道路规则应用
我有一个活动,其中将根据票号显示问题和答案(20 个问题和 5x20 个答案)。字符串中包含的问题和答案重新排序并排序。我的代码非常糟糕,我想通过循环来简化,比如有问题 [q] 但有 2 个变量。请帮帮我。
https://play.google.com/store/apps/details?id=ua.in.sil.cryzalit.mybilets
number = intent.getStringExtra("number");
for( int i = 1; i < 21; i++)
{
q[i]= this.getResources().getIdentifier("q"+i+"_" + number, "string", this.getPackageName());
}
int a1_1 = this.getResources().getIdentifier("a1_1_" + number, "string", this.getPackageName());
int a2_1 = this.getResources().getIdentifier("a2_1_" + number, "string", this.getPackageName());
int a3_1 = this.getResources().getIdentifier("a3_1_" + number, "string", this.getPackageName());
int a4_1 = this.getResources().getIdentifier("a4_1_" + number, "string", this.getPackageName());
int a5_1 = this.getResources().getIdentifier("a5_1_" + number, "string", this.getPackageName());
\\\\
int a1_20 = this.getResources().getIdentifier("a1_20_" + number, "string", this.getPackageName());
int a2_20 = this.getResources().getIdentifier("a2_20_" + number, "string", this.getPackageName());
int a3_20 = this.getResources().getIdentifier("a3_20_" + number, "string", this.getPackageName());
int a4_20 = this.getResources().getIdentifier("a4_20_" + number, "string", this.getPackageName());
int a5_20 = this.getResources().getIdentifier("a5_20_" + number, "string", this.getPackageName());
解决方案
可以使用二维数组,代码如下:
int answers[][] = new int[20][5];
for( int i = 0; i < 20; i++) {
for( int j = 0; j < 5; j++){
answers[i][j] = this.getResources().getIdentifier("a"+(j+1)+"_"+(i+1)_" + number, "string", this.getPackageName());
}
}
我也不确定q数组,因为它将从 0 开始,只需重新访问它。
推荐阅读
- reactjs - 如何更新我在多选中选择的选项?
- c - 如何使用 sscanf 获取单个字符
- javascript - 如何通过 reactjs 中的 id 从集合中检索文档?
- python - 识别相似的 url
- ios - 在 ViewController 之间重用单元格
- python-3.x - 输入和格式化输出
- flutter - 椭圆形 Flutter StrokeCap 形状,而不是用于线条的方形和圆形
- javascript - 在所有设备上查看时让页脚停留在底部?
- ios - Lottie-react-native 不在 iOS 12 RN 0.60.4 上构建
- mysql - 在 phpmyadmin 中创建存储过程的问题,列数 mysql.proc 不正确