一、基本操作题
本题将数组中arr[]={5,6,3,7,9,1}的各个元素按下标的逆序输出。
publicclassjaval{
publicstaticvoidmain(String[]args){
intarr[]={5,6,3,7,9,1};
;
n=;
while(n>=O){
System.OUt.print(arr[n]+"");
;
}
}
}
点击进入>>全国计算机等级考试真题题库全套最新考试资料
二、简单应用题
本题中,用表格表现某个月的月历,其中标题是从Sunday到Saturday,表格中的各项是可以修改的。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.table.*;
publicclassjava2
(
publicstaticvoidmain(String[]args)
{
try{
UIManager.setLookAndFeel(UIManager.getSys-
temLookAndFeelClassName()):
}
catch(Exceptione)()
JFrameframe=newCalendarTableFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_
oNCLOSE);
frame.show();
}
}
clasgCalendarTableFrameextendsJFrame
{
privatestaticfinalintWIDTH=500;
privatestaticfinalintHEIGHT=150:
privatecells=
{
{null,null,null,newInteger(1),newInteger
(2),newInteger(3),newInteger(4)),
{newInteger(5),newInteger(6),newInteger
(7).newInteger(8),newInteger(9),newInteger
(10),newInteger(11)),
{newInteger(12),newInteger(13),newInteger
(14),newInteger(15),newInteger(16),newInteger
(17),newInteger(18)),
{newInteger(19),newInteger(20),newInteger
(21),newInteger(22),newInteger(23),newInteger
(24),newInteger(25)),
{newInteger(26),newInteger(27),newInteger
(28),newInteger(29),newInteger(30),newInteger
(31),null}
};
privateString[]columnNames={
"Sunday","Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday"
};
publicCalendarTableFrame(){
setTitle("java2");
setSize(WIDTH,HEIGHT);
JTabletable=new;
getContentPane().add(newJScrollPane(table),
BorderLayout.CENTER);
}
}
三、综合应用题
本题的功能是用键盘上的方向键来控制直线的绘制方向。如果一直按向上的方向键,则在窗口中从焦点开始向上缓慢绘制直线,按其他方向键也会向对应的方向缓慢地绘制直线,如果按下键的话,绘制直线的速度会加快。
importjava.awt.*;
importjava.awt.geom.*;
importjava.util.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassjava3{
publicstaticvoidmain(String[]args)
{
SketchFrameframe=newSketchFrame();
frame.setDefauhCloseOperation(JFrame.EXIT_
ON_CLOSE);
frame.show();
}
}
classSketchFrameextendsJFrame
{
publicSketchFrame()
{
setTitle("java3");
setSize(DEFAULTWIDTH,DEFAULT
HEIGHT);
SketehPanelpanel=newSketchPanel();
ContainercontentPane=getContentPane();
contentPane.add(panel);
}
publicstaticfinalintDEFAULT_WIDTH=300;
publicstaticfinalintDEFAULT_HEIGHT
=200;
}
classSketehPanelextendsJPanel
{
publicvoidsketchPanel()
{
last=newPoint2D.Double(100,100);
lines=newArrayList();
KeyHandlerlistener=newKeyHandler();
addkeyListener(this);
setFocusable(true);
}
publicvoidadd(intdx,intdy)
{
Point2Dend=newPoint2D.Double(last.getX()
+dx,
last.getY()+dy):
Line2Dline=newLine2D.Double(last,end);
lines.add(line):
repaint();
last=end:
}
publicvoidpaintComponent(Graphicsg)
{
super.paintComponent(g);
Graphics2Dg2=(Graphics2D)g;
for(inti=0;i 92.draw((Line2D)lines.get(i));
}
privatePoint2Dlast:
privateArrayListlines;
privatestaticfinalintSMALL_INCREMENT
=1:
privatestaticfinalintLARGE_INCREMENT
=5;
privateclassKeyHandlerimplementsKeyListener
{
publicvoidkeyPressed(KeyEventevent)
{
KEYkeyCode=event.getKeyCode();
intd;
if(event.isShiftDown())
d=LARGE_INCREMENT;
else
d=SMALL_INCREMENT;
if(keyCode==KeyEvent.VK_LEFT)add(-
d,0);
elseif(keyCode==KeyEvent.VK_RIGHT)
add(d,0);
elseif(keyCode==KeyEvent.VK_UP)add(0,
-d):
elseif(keyCode==KeyEvent.VK_DOWN)
add(0,d);
}
publicvoidkeyReleased(KeyEventevent){}
publicvoidkeyTyped(KeyEventevent)
{
charkeyChar=event.getKeyChar();
intd;
if(Character.isUpperCase(keyChar))
{
d=LARGE_INCREMENT;
keyChar=Character.toLowerCase(keyChar);
}
else
d=SMALL_INCREMENT;
}
}
}
考试试题答案与解析
一、基本操作题
第1处:intn
第2处:arr.1ength-1
第3处:n--或n=n-1或n-=l
【解析】第1处使用前定义变量n;第2处和第3处遍历数组各元素。
二、简单应用题
第1处:Object[][]
第2处:JTable(cells,columnNames)
【解析】第1处定义二维数组保存日期数据;第2处JTable的构造方法第一个参数是数据,第二个参数是表格第一行中显示的内容。
三、综合应用题
第1处:pulicSketchPanel()
第2处:addKeyListener(listener)
第3处:intkeyCode=event.getKeyCode()
【解析】第1处SketchPanel是构造方法,构造方法是给对象赋初值,所以没有返回值,但不用void来声明;第2处注册时间的监听器,参数应为事件源;第3处getKeyCode()方法获得的是int型的键码。
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验