我试图制作一个计算器,它可以从用户那里输入面板数量。然后它将根据不同面板尺寸的组合显示一些选项 - 3、5、7、11、13。组合值可以是总面板尺寸的 1 或 2 的 +-。输出将以以下格式显示:2 x 9 面板、1 x 7 面板或 2 X 13 面板或 3 X 9 面板。
下面是计算代码:
int available_ar[]= {13, 11, 7, 5, 3};
int result_ar[]= {0, 0, 0, 0, 0};
int[][] panel_options_ar= new int[10][5];
// ********Calculation Part********
for (int k=0 ; k< result_ar.length ; k++)
{
result_ar[k]= panel-2+k;
}
for (i=0; i< result_ar.length; i++){
x= result_ar[i];
for (j=0; j< available_ar.length; j++){
while (x>=available_ar[j]){
x= x- available_ar[j];
panel_options_ar[i][j]= panel_options_ar[i][j]+ 1;
}
}
}
// ********Display part********
for (i=0; i< result_ar.length; i++){
for (j=0; j< available_ar.length; j++){
if (panel_options_ar[i][j]> 0){
text1 = text1+" "+panel_options_ar[i][j]+" x "+available_ar[j]+" Panel,";
}
else {
break;
}
}
text= text+"\n"+text1;
}
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG).show();
输出显示:
10 X 13 panel,
10 X 13 panel, 10 X 13 panel,
10 X 13 panel, 10 X 13 panel, 10 X 13 panel,
10 X 13 panel, 10 X 13 panel, 10 X 13 panel, 10 X 13 panel,
10 X 13 panel, 10 X 13 panel, 10 X 13 panel, 10 X 13 panel, 10 X 13 panel,
这不是我的预期输出。我想我在逻辑上犯了一些错误。但我找不到问题所在。