1、二级 JAVA 机试-29 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题分别比较两个字符串“A“和“a“是否相等,并比较两个字符“A“和“a“是否相等,并输出比较结果。public class java1public static void main(Stringargs)_;c1=A;c2=a;String str1=new String(“A“),str2=new String(“a“);if(_)System.out.println(“char“+c1+“equals“+“char“+c2);elseSystem.out.p
2、rintln(“char“+c1+“doesnt equal“+“char“+c2);if(_)System.out.println(“string“+str1+“equals“+“string“+str2);elseSystem.out.println(“string“+str1+“doesnt equal“+“string“+str2);(分数:30.00)_二、简单应用题(总题数:1,分数:40.00)2.本题是一个 Applet,页面上有一个按钮“请单击”,单击该按钮后弹出一个对话框,对话框上有三个按钮“橙色”、“蓝色”和“红色”,单击其中任意一个按钮,则可以将对话框的背景色设置为按钮
3、名称所对应的颜色。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class java2 extends JAppletprivate JFrame frame;_()frame=new JFrame();frame.setTitle(“java2“);frame.setSize(300,200);frame.getContentPane().add(new ButtonPanel();JButton PopButton=new JButton(“请单击“);getContentPane().add(P
4、opButton);PopButton.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)if(frame.isVisible()frame.setVisible(false);else_;);class ButtonPanel extends JPanelprivate class ColorAction implements ActionListenerprivate Color backgroundColor;public void actionPerformed(Actio
5、nEvent actionevent)setBackground(backgrOundColor);repaint();public ColorAction(Color color)backgroundColor=color;public ButtonPanel()JButton jbutton=new JButton(“橙色“);JButton jbutton1=new JButton(“蓝色“);JButton jbutton2=new JButton(“红色“);add(jbutton);add(jbutton1);add(jbutton2);ColorAction coloractio
6、n=new ColorAction(Color.orange);ColorAction coloraction1=new ColorAction(Color.blue);ColorAction coloraction2=new ColorAction(Color.red);jbutton.addActionListener(coloraction);jbutton1.addActionListener(coloraction1);jbutton2.addActionListener(coloraction2);(分数:40.00)_三、综合应用题(总题数:1,分数:30.00)3.本题的功能是
7、用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sample text”和“Text color control”,窗口的底部还有一个复选按钮“Disable changes”。在“Sample text”而板中有一个带有字符串的文本框,而在“Text color control”面板中有三个按钮:“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。单击任意按钮,文本框中的文本变成对应的颜色,如果选中“Disable changes”复选项,则三个颜色按钮变为不可用,如果取消选中复选项,则三个按钮变为可用。import javax.swing.*;i
8、mport java.awt.*;import java.awt.event.*;public class java3 extends JFrameprivate JPanel upper,middle,lower;private JTextField text;private JButton black,red,green;private JCheckBox disable;public java3(String titleText)super(title Text);addWindowListener(new WindowAdapter()public voidwindowClosing(
9、WindowEvent e)System.exit(0););upper=new JPanel();upper.setBorder(BorderFactory.createTitledBorder(“Sample text“);upper.setlayout(new BorderLayOut();text=new JTextField(“Change the color of this text“);upper.add(text,BorderLayout.CENTER);middle=new JPanel();middle.setBorder(BorderFactory.createTitle
10、dBorder(“Text color control“);middle.setLayout(new FlowLayout(FlowLayout.CENTER);black=new JButton(“Black“,new Colorlcon(Color.black);black.addActionListener(new ButtonListener(Color.black);middle.add(black);red=new JButton(“Red“,new Colorlcon(Color.red);red.addActionListener(new ButtonListener(Colo
11、r.red);middle.add(red);green=new JButton(“Green“,new Colorlcon(Color.green);green.addActionListener(new ButtonListener(Color.green);middle.add(green);lower=new JPanel();lower.setLayout(new FlowLayout(FlowLayout.RIGHT);disable=new JCheckBox(“Disable changes“);disable.addItemListener(new ItemListener(
12、)public void itemStateChanged(ItemEvent e)boolean enabled=(e.getStateChange()=ItemEvent.DESELECTED);black.setEnabled(enabled);red.setEnabled(enabled);green.setEnabled(enabled););lower.add(disable);Container cp=getContentPane();cp.add(upper.BorderLayout.NORTH);cp.add(middle,BorderLayout.CENTER);cp.ad
13、d(lower,BorderLayout.SOUTH);pack();setVisible(true);class ButtonListener extends ActionListenerprivate Color c;public ButtonListener(Color c)this.c=c;public void actionPerformed(ActionEvent e)text.setForeground(c);class ColorIcon implements Iconprivate Color c;private static final int DIAMETER=10;pu
14、blic ColorIcon(Color c)c=c;public void paintIcon(Component cp,Graphics g,int x,int y)g.setColor(c);g.fillOval(x,y,DIAMETER,DIAMETER);g.setColor(Color.black);g.drawOval(x,y,DIAMETER,DIAMETER);public int getIconHeight()return DIAMETER;public int getlconWidth()return DIAMETER;public static void main(St
15、ringargs)new java3(“advance“);(分数:30.00)_二级 JAVA 机试-29 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.本题分别比较两个字符串“A“和“a“是否相等,并比较两个字符“A“和“a“是否相等,并输出比较结果。public class java1public static void main(Stringargs)_;c1=A;c2=a;String str1=new String(“A“),str2=new String(“a“);if(_)System.out.println(“char“
16、+c1+“equals“+“char“+c2);elseSystem.out.println(“char“+c1+“doesnt equal“+“char“+c2);if(_)System.out.println(“string“+str1+“equals“+“string“+str2);elseSystem.out.println(“string“+str1+“doesnt equal“+“string“+str2);(分数:30.00)_正确答案:(第 1 处:char c1,c2第 2 处:c1=c2第 3 处:str1.equals(str2)解析:解析 第 1 处声明两个字符型变量
17、c1 和 c2;第 2 处表示当 c1 等于 c2 时 if 条件为真;第 3 处判断 str1 和 str2 是否相等,返回值是布尔类型 true 或 false。二、简单应用题(总题数:1,分数:40.00)2.本题是一个 Applet,页面上有一个按钮“请单击”,单击该按钮后弹出一个对话框,对话框上有三个按钮“橙色”、“蓝色”和“红色”,单击其中任意一个按钮,则可以将对话框的背景色设置为按钮名称所对应的颜色。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class java2 extends J
18、Appletprivate JFrame frame;_()frame=new JFrame();frame.setTitle(“java2“);frame.setSize(300,200);frame.getContentPane().add(new ButtonPanel();JButton PopButton=new JButton(“请单击“);getContentPane().add(PopButton);PopButton.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ev
19、t)if(frame.isVisible()frame.setVisible(false);else_;);class ButtonPanel extends JPanelprivate class ColorAction implements ActionListenerprivate Color backgroundColor;public void actionPerformed(ActionEvent actionevent)setBackground(backgrOundColor);repaint();public ColorAction(Color color)backgroun
20、dColor=color;public ButtonPanel()JButton jbutton=new JButton(“橙色“);JButton jbutton1=new JButton(“蓝色“);JButton jbutton2=new JButton(“红色“);add(jbutton);add(jbutton1);add(jbutton2);ColorAction coloraction=new ColorAction(Color.orange);ColorAction coloraction1=new ColorAction(Color.blue);ColorAction col
21、oraction2=new ColorAction(Color.red);jbutton.addActionListener(coloraction);jbutton1.addActionListener(coloraction1);jbutton2.addActionListener(coloraction2);(分数:40.00)_正确答案:(第 1 处:public void init第 2 处:frame.show()解析:解析 第 1 处是定义一个公有的初始化函数;第 2 处显示 frame 窗口。三、综合应用题(总题数:1,分数:30.00)3.本题的功能是用按钮来控制文本框中文本
22、的颜色。窗口中有两个带有文字标题的面板“Sample text”和“Text color control”,窗口的底部还有一个复选按钮“Disable changes”。在“Sample text”而板中有一个带有字符串的文本框,而在“Text color control”面板中有三个按钮:“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。单击任意按钮,文本框中的文本变成对应的颜色,如果选中“Disable changes”复选项,则三个颜色按钮变为不可用,如果取消选中复选项,则三个按钮变为可用。import javax.swing.*;import java.a
23、wt.*;import java.awt.event.*;public class java3 extends JFrameprivate JPanel upper,middle,lower;private JTextField text;private JButton black,red,green;private JCheckBox disable;public java3(String titleText)super(title Text);addWindowListener(new WindowAdapter()public voidwindowClosing(WindowEvent
24、e)System.exit(0););upper=new JPanel();upper.setBorder(BorderFactory.createTitledBorder(“Sample text“);upper.setlayout(new BorderLayOut();text=new JTextField(“Change the color of this text“);upper.add(text,BorderLayout.CENTER);middle=new JPanel();middle.setBorder(BorderFactory.createTitledBorder(“Tex
25、t color control“);middle.setLayout(new FlowLayout(FlowLayout.CENTER);black=new JButton(“Black“,new Colorlcon(Color.black);black.addActionListener(new ButtonListener(Color.black);middle.add(black);red=new JButton(“Red“,new Colorlcon(Color.red);red.addActionListener(new ButtonListener(Color.red);middl
26、e.add(red);green=new JButton(“Green“,new Colorlcon(Color.green);green.addActionListener(new ButtonListener(Color.green);middle.add(green);lower=new JPanel();lower.setLayout(new FlowLayout(FlowLayout.RIGHT);disable=new JCheckBox(“Disable changes“);disable.addItemListener(new ItemListener()public void
27、 itemStateChanged(ItemEvent e)boolean enabled=(e.getStateChange()=ItemEvent.DESELECTED);black.setEnabled(enabled);red.setEnabled(enabled);green.setEnabled(enabled););lower.add(disable);Container cp=getContentPane();cp.add(upper.BorderLayout.NORTH);cp.add(middle,BorderLayout.CENTER);cp.add(lower,Bord
28、erLayout.SOUTH);pack();setVisible(true);class ButtonListener extends ActionListenerprivate Color c;public ButtonListener(Color c)this.c=c;public void actionPerformed(ActionEvent e)text.setForeground(c);class ColorIcon implements Iconprivate Color c;private static final int DIAMETER=10;public ColorIc
29、on(Color c)c=c;public void paintIcon(Component cp,Graphics g,int x,int y)g.setColor(c);g.fillOval(x,y,DIAMETER,DIAMETER);g.setColor(Color.black);g.drawOval(x,y,DIAMETER,DIAMETER);public int getIconHeight()return DIAMETER;public int getlconWidth()return DIAMETER;public static void main(Stringargs)new java3(“advance“);(分数:30.00)_正确答案:(第 1 处:upper.setLayout(new BorderLayout()第 2 处:class ButtonListener implements ActionListener第 3 处:this.c=c)解析:解析 第一处令面板 upper 采用 BorderLayout 布局。第二处是要求类 ButtonListener 实现ActionListener 接口,达到通过按钮改变字体颜色的目的。第三处是设置按钮前圆形的颜色。