下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如3阶魔方阵为
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.*;
/*
<applet code="ex10_3.class" width=800 height=400>
</applet>
*/
public class ex10_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.setLayout(new FlowLayout(FlowLayout.CENTER, 25,5));
pane.add(11);
pane.add(tf1);
pane.add(btn);
pane.addActionListener(this);
add("North",pane);
dw=new drawWnd();
add("South",dw);
}
class drawWnd extends Canvas
{
drawWnd ( )
{
setSize(300,300);
setBackground(Color.GRAY);
}
public void paint(Graphics g)
{
g.setColor(Color. GREEN);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
g.drawString(Integer.toString(a[i] [j]),i*20,j*20);
}
}
public void actionPerformed(ActionEvent ae)
}
try{
n=Integer.parseInt (tf1.getText ());
int i=1, j=1;
for (i=1;i<=n;i++)
for (j=1; j<=n; j++)
a[i] [j]=0;
j=n/2+1;
a[i] [j]=1;
for (int k=1; k<=n*n; k++)
{
i--;
j++;
if((i<1)&&(j>n))
{
i=i+2;
j--;
}
else
{
if (i<1)
i=n;
if (j>n)
j=1;
}
if (a[i] [j]==0)
a[i] [j]=k;
else{
i=i+2;
j--;
a[i] [j]=k;
}
}
dw. repaint ( );
}
catch (NumberFormatException nfe)
&n
下面程序段的输出结果是( )。#include
A.7 B.8 C.10 D.存在语法错误
下列关于类的描述中,错误的是()。
A.类就是C语言中的结构类型
B.类是创建对象的模板
C.类是抽象数据类型的实现
D.类是具有共同行为的若干对象的统一描述体
以下选项中,能用作数据常量的是()。
A)018
B)o11
C)0.8e2.5
D)25L
下列哪一项不是软件说明书的特点?
A.正确性
B.无歧义性
C.可操作性
D.可修改性
定义数据库文本型字段的取值范围是______,默认值为______。
假定w、x、y、z、m均为血型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(W<X)?w:X;
m=(m<y)?m:y;
m=(m<z)?m:z;
则该程序运行后,m的值是【】。
下列程序执行后,输入结果是()。 For n = 3 To 1 Step - 1 x$ = String$(n,"#") Print x$ Next in
A. 1# 2# 3# B. ### ## #C. # ## ### D. 3# 2# 1#
在树形结构中,树根结点没有【1】。
采用邻接表存储的图的深度优先遍历算法类似于二叉树的()。
A.先序遍历
B.中序遍历
C.后序遍历
D.按层遍历
下面程序段中,输出*的个数是 char *s="\ta\018bc"; for(;*s!='\0';s++)printf("*");
A.9
B.5
C.6
D.7
下列程序的输出结果是
#include "stdio.h"
main()
{int i,a=0,b=0;
for(i=1;i<10;i++)
{if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d",a,b);}
A.a=4,b=4
B.a=4,b=5
C.a=5,b=4
D.a=5,b=5
有以下程序段
int a,b,c;
a=10; b=50; c=30;
if(a>b)a=b,b=c;c=a;
printf( " a=%d b=%d c=%d\n " ,a,b,c);
程序的输出结果是
A)a=10 b=50 c=10
B)a=10 b=50 c=30
C)a=10 b=30 c=10
D)a=50 b=30 c=50
根据score数据库,使用查询向导建立一个含有学生“姓名”和“出生日期”的标准查询query31.qpr。
(2)从score数据库中删除视图newview。
(3)用SQL命令向score1表插入一条记录:学号为“993503433”、课程号为“0001”、成绩为“99”。
(4)打开表单myform34,向其中添加一个“关闭”命令按钮(名称为Command1),单击此按钮关闭表单(不可以有多余的命令)。
A、1
B、2
C、3
D、4