1

我试图制作一个计算器,它可以从用户那里输入面板数量。然后它将根据不同面板尺寸的组合显示一些选项 - 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,

这不是我的预期输出。我想我在逻辑上犯了一些错误。但我找不到问题所在。

4

0 回答 0