全国计算机二级java上机练习题Word格式.doc
《全国计算机二级java上机练习题Word格式.doc》由会员分享,可在线阅读,更多相关《全国计算机二级java上机练习题Word格式.doc(9页珍藏版)》请在冰点文库上搜索。
strl.indexOf(str2)
第3处:
i!
=-1
【解析】第1处使用前定义变量strl和str2;
第2处和第3处判断str2是否是strl的子串。
[您的答案]inti=strl.indexOf(&
quot;
Tom&
);
if(i!
=-1)
本题分值:
18分您的得分:
10分
试题解析:
+我要找茬+加入错题+收藏该题评论此题
三、应用题(共1题,合计24分)
42本题要求分行打印输出当前系统中所有字体的名称。
publicclassjava2
{
publicstaticvoidmain(String[]args)
String[]fontNames=GraphicsEnvironment
.getLocalGraphicsEnvironment().getAvailable-
FontFamilyNames();
for(inti=0;
;
i++)
System.Out.println(fontNames[i]);
importjava.awt.*
i<
fontNames.1ength
【解析】第1处必须在所有类定义之前引入标准类;
第2处遍历字体名称数组。
[您的答案]i&
lt;
fontNames.length;
24分您的得分:
9分
四、综合题(共1题,合计18分)
43本题的功能是用键盘上的方向键来控制直线的绘制方向。
如果一直按向上的方向键,则在窗口中从焦点开始向上缓慢绘制直线,按其他方向键也会向对应的方向缓慢地绘制直线,如果按下<
Shift>
键的话,绘制直线的速度会加快。
importjava.awt.*;
importjava.awt.geom.*;
importjava.util.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassjava3{
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;
lines.size();
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;
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();
if(Character.isUpperCase(keyChar))
keyChar=Character.toLowerCase(keyChar);
pulicSketchPanel()
addKeyListener(listener)
intkeyCode=event.getKeyCode()
【解析】第1处SketchPanel是构造方法,构造方法是给对象赋初值,所以没有返回值,但不用void来声明;
第2处注册时间的监听器,参数应为事件源;
第3处getKeyCode()方法获得的是int型的键码。
[您的答案]
0分
+我要找茬+加入错题+收藏
一、应用题(共1题,合计24分)
42下面的程序中,有两个文本框,Input和Output,用户在Input文本框中输入字符串后回车,字符串会在Output文本框中出现。
publicclassjava2extendsFrame{
publicstaticvoidmain(Stringargs[]){
java2f=newjava2("
java2"
Panelpan=newPanel();
f.init();
pubhcjava2(Stringstr){
super(str);
publicvoidinit(){
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(O);
}};
setSize(200,200);
setLayout(newFlowlLayout());
finalTextFieldtfl=newTextField(20):
finalTextFieldtf2=newTextField(20);
finalLabelhi—newLabel("
Input:
finalLabella2一newLabel("
Output:
tfl.addActionListener({
publicvoidactionPerformed(ActionEvente){
tf2.setTex();
});
add(la1);
add(tfl);
add(la2);
add(tf2);
setVisible(true);
newActionListener()
tfl.getText()
【解析】第1处是设置监听事件,响应tfl(Input文本框)的输入事件,第2处是将用户在Input文本框中输入的内容在Output文本框中显示。
二、综合应用
本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。
窗口中有4个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。
publicclassjava3
JFrameframe=newTransformTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_
0N_CLoSE);
classTransformTestextendsJFrame
{
publicTransformTestFrame()
setSize(WIDTH,HEIGHT);
canvas=newTransformPanel();
contentPane.add(canvas,BorderLayout.CEN-
TER);
JPanelbuttonPanel=newJPanel():
ButtonGroupgroup=newButtonGroup();
JRadioButtonrotateButton
=newJRadioButton("
旋转"
,true);
buttonPanel.add(rotateButton);
group.add(rotateButton);
rotateButton.addActionListener(new
ActionListener()
publicvoidactionPerformed(ActionEventevent)
canvas.setRotate();
JRadioButtontrans|ateButton
移位"
,false);
buttonPanel.add(translateButton);
group.add(translateButton);
translateButton.addActionListener(new
ActionLiatener()
canvas.setTranslate();
JRadioButtonscaleButton
放大"
buttonPanel.add(scaleButton):
group.add(scaleButton);
scaleButton.addActionListener(new
canvas.setScale();
JRadioButtonshearButton
剪切"
buttonPanel.add(shearButton):
group.add(shearButton);
shearButton.addActionListener(new
canvas.setShear();
contentPane.add(buttonPanel,BorderLayout.
NORTH):
privateTransformPanelcanvas;
privatestaticfinalintWIDTH=300;
privatestaticfinalintHEIGHT=300;
classTransformPanelextendJPanel
publicTransformPanel()
square=newRectangle2D.Double(-50,-50,
100,100);
t=newAffineTransform();
setRotate();
publicvoidpaintComponent()
Graphics2Dg2=(Graphies2D)g;
g2.translate(getWidth()/2,getHeight()/2):
g2.setPaint(Color.gray);
g2.draw(square);
g2.transform(t);
g2.setPaint(Color.black);
publicvoidsetRotate()
t.setToRotation(Math.toRadians(30));
}
publicvoidsetTranslate()
t.setToTranslation(20,15);
publicvoidsetScale()
t.setToScale(2.0,1.5):
publicvoidsetShear()
t.setToShear(-0.2,O);
privateRectangle2Dsquare;
privateAffineTransformt;
classTransformTestFrameextendsJFrame
classTransformPanelextendsJFrame
【解析】第1处类中公有对象名称应与类名一致;
第2处为继承的父类不正确;
第3处从下面的super.paintComponent(g);
可判断出应有参数Graphicsg。