问题:[问答题]
btn.addActionListener(this)
a[1][j]=1
intk=2;k<=n*n;k++
● 参考解析
本题主要考查Applet图形界面编程和for循环语句的使用以及对数组的操作。解题关键是明白魔方阵的基本原理,并能看得懂这个问题的算法,熟悉数组操作,for循环语句以及Applet界面构件及其事件处理机制。魔方阵的排列规律是:首先将1放在第一行中间一列;然后从2开始直到n*n为止。各数依次按如下规则存放:每一个数存放的行比前一个数的行数减1、列数加1;如果上一个数的行数为1,则下一个数的行数为n;当上一个数的列数为n时,下一个数的列数应改为1,行数减1;如果按以上规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。本题中,第1处,事件监听器应该是btn对象的,不是pane对象;第2处,应该按照上述规则第一条,将1放在第一行中间一列:第2处,循环变量应该从2开始,如果是1得不到正确答案。