二级JAVA机试-17
- 格式:doc
- 大小:8.18 KB
- 文档页数:5
二级JAVA机试-17
(总分:100.00,做题时间:90分钟)
一、基本操作题(总题数:1,分数:30.00)
1.本题的功能是统计成绩不及格的人数,分数有89,90,56,90,89,45,23,45,60,59,61。
public class java1
public static void main(String[]args)
int[]score=56,90,89,23,45,61,60,59;
int num=0;
______;
int i=0;
while(______)
if(______)
sum++;
i++;
System.out.println("<60:"+sum);
(分数:30.00)
__________________________________________________________________________________________
正确答案:(第1处:int sum=0
第2处:i<score.length
第3处:score[i]<60或score[i]<=59)
解析:[解析] 第1处是定义变量,前面的int num=0只是迷惑考生的;第2处为循环条件;第3处判断是否及格。
二、简单应用题(总题数:1,分数:40.00)
2.本题中,窗口的背景色为系统桌面的颜色,在窗口中分别画空心和实心的黑色矩形、深灰色圆角矩形和浅灰色椭圆形,并且画白色粗体的“欢迎学习Java!”字符串。
import java.awt.*;
import javax.swing.*;
public class java2
public static void main(String[]args)
FillFrame frame=new FillFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
class FillFrame extends JFrame
public FillFrame()
setTitle("java2"); setSize(WIDTH,HEIGHT);
FillPanel panel=new FillPanel();
panel.setBackround(SystemColor.desktop);
Container contentPane=getContentPane();
contentPane.add(panel);
public static final int WIDTH=400;
public static final int HEIGHT=250;
class FillPanel extends JPanel
public void paintComponent(Graphics g)
______;
g.setColor(new Color(10,10,10));
g.drawRect(10,10,100,30);
g.setColor(new Color(100,100,100));
g.drawRoundRect(150,10,100,30,15,15);
g.setColor(new Color(150,150,150));
g.drawOval(280,10,80,30);
g.setColor(new Color(10,10,10));
g.fillRect(10,110,100,30);
g.setColor(new Color(100,100,100));
g.fillRoundRect(150,110,100,30,15,15);
g.setColor(new Color(150,150,150));
g.fillOval(280,110,80,30);
g.setColor(Color.white);
Font f=new Font("宋体",______,20);
g.setFont(f);
g.drawstring("欢迎学习Java!",150,200);
(分数:40.00)
__________________________________________________________________________________________
正确答案:(第1处:super.paintComponent(g)
第2处:Font.Bold)
解析:[解析] 第1处使用父类方法应使用super来引用;第2处为设置粗体。
三、综合应用题(总题数:1,分数:30.00)
3.本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有4个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;
public class java3
public static void main(String[]args)
JFrame frame=new TransformTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
class TransformTest extends JFrame
public TransformTestFrame()
setTitle("java3");
setSize(WIDTH,HEIGHT);
Container contentPane=getContentPane();
canvas=new TransformPanel();
contentPane.add(canvas,BorderLayout,CENTER);
JPanel buttonPanel=new JPanel();
ButtonGroup group=new ButtonGroup();
JRadioButton rotateButton
=new JRadioButton("旋转",true);
buttonPanel.add(rotateButton);
group.add(rotateButton);
rotateButton.addActionListener(new
ActionListener()
public void actionPerformed(ActionEvent event)
canvas.setRotate();
);
JRadioButton translateButton
=new JRadioButton("移位",false);
buttonPanel.add(translateButton);
group.add(translateButton);
translateButton.addActionListener(new
ActionListener()
public void actionPerformed(ActionEvent event)
canvas.setTranslate();
);
JRadioButton scaleButton
=new JRadioButton("放大",false);
buttonPanel.add(scaleButton);
group.add(scaleButton);
scaleButton.addActionListener(new
ActionListener()
public void actionPerformed(ActionEvent event)
canvas.setScale();
);
JRadioButton shearButton
=new JRadioButton("剪切",false);
buttonPanel.add(shearButton);
group.add(shearButton);
shearButton.addActionListener(new
ActionListener()
public void actionPerformed(ActionEvent event)
canvas.setShear();
);
contentPane.add(buttonPanel,BorderLayout.NORTH)
private TransformPanel canvas;
private static final int WIDTH=300;
private static final int HEIGHT=300;
class TransformPanel extend JPanel
public TransformPanel()
square=new Rectangle2D.Double(-50,-50,100,100);
t=flew AffineTransform();
setRotate();
public void paintComponent()
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
g2.translate(getWidth()/2,getHeight()/2);
g2.setPaint(Color.gray);
g2.draw(square);
g2.transform(t);
g2.setPaint(Color.black);
g2.draw(square);
public void setRotate()
t.setToRotation(Math.toRadians(30));
repaint();
public void setTranslate()