栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 面试经验 > 笔试题库

[问答题] 下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如三阶魔方阵为: 8 1 6 3 5 7 4 9 2 要求用App

笔试题库 更新时间:发布时间: 百科书网 趣学号

[问答题] 下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如三阶魔方阵为:

8 1 6

3 5 7

4 9 2

要求用Applet实现上述魔方阵,窗口中包括提示栏,提示输入0~15之间的奇数:输入框,输入方阵的阶数:按钮,点击则输出魔方阵;画布用于输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行或删行。程序运行结果如下:

   

import java.awt.*;

import java.awt.event.*;

import java.applet.Applet;

import java.lang.Math.*;

public class ex19_3 extends Applet implements ActionListener

Panel pane=new Panel();

drawWnd dw;

Label 11 = new Label("输入 (0~15的奇数) : ");

TextField tf1 = new TextField(5);

Button btn = new Button("OK");

int[] [] a=new int[16] [16];

int n=15;

public void init()

pane.

正确答案:

btn.addActionListener(this) a[1]][j]=1 int k=2;k<=n*n;k++

参考解析:

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

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/586609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号