我的程序假设使用多维数组计算奖金,基于周和评论,我尝试使程序失败,它返回正确的字符串,但在输出框中,告诉我异常,我该如何停止多维数组中的异常?下面是代码和输出。
static int bonus[][] = {{5, 9, 16, 22, 44},
{10, 12, 18, 25, 36},
{20, 25, 32, 42, 53},
{32, 38, 45, 55, 68},
{46, 54, 65, 77, 90},
{60, 72, 84, 96, 120},
{85, 100, 120, 140, 175}};
static int weeks;
static int reviews;
calcButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
weeks = Integer.parseInt(weeksWorked.getText());
if (weeks > 6) {
weeks = 6;
}
else if(weeks < 0){
outputBox.setText("Invalid Number");
}
reviews = Integer.parseInt(weeksWorked.getText());
if (reviews > 4) {
reviews = 4;
}
this.outputBox.setText("$" + bonus[weeks][reviews]);
}
答案 0 :(得分:0)
变量的值大于数组大小。打印数组大小和审阅或周变量,并检查其超出范围的原因。
答案 1 :(得分:0)
输入-1时,首先将outputBox文本设置为“Invalid Number”,然后继续在第123行使用该无效的周数。
如果使用调试器,这可能很容易测试。