我试图制作一个计算器,从用户那里输入多个面板。然后,它将显示基于不同面板尺寸-3,5,7,11,13的组合的一些选项。组合值可以是总面板尺寸的1或2的+ - 2。输出将以以下格式显示:2 x 9面板,1 x 7面板或2 x 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,
这不是我预期的输出。我想我在逻辑上犯了一些错误。但我找不到问题。