二级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()