第五届全国ITAT教育工程就业技能大赛复赛试题 Java程序设计(B卷)答案

本博客提供了第五届全国ITAT教育工程就业技能大赛复赛中Java程序设计部分的试题解析,包括实现Student接口、GUI时钟程序、序列化操作、异常处理以及集合的对称差计算。同时,还讲解了如何使用Java的JDBC-ODBC桥驱动程序插入Access数据库记录并进行查询。
摘要由CSDN通过智能技术生成

1、   设计一个Student接口,以一维数组存储一个班级的学生姓名。该接口中有一个抽象方法getStudentName()。设计一个类Test,该类实现接口Student中的方法getStudentName(),功能是获取学生姓名并显示。(20分)

【Student.java】//Student接口
package programming;
 
public interface Student {
 
   public static final String[] StudentName={"Jacob","Cullen","Fox","Harry","Marria","Victoria"};
   public void getStudentName();
}
 
【InterfaceTest.java】//Student接口的实现类
 
package programming;
 
public class InterfaceTest implements Student{
 
   public void getStudentName()
   {
      for(int i=0;i<StudentName.length;i++)
         System.out.println(StudentName[i]);
   }
   public static void main(String[] args) {
      // TODO Auto-generatedmethod stub
      new InterfaceTest().getStudentName();
 
   }
 
}


 




 

2、   如下图所示,利用Java的GUI和多线程编程技术,编写一个时钟显示程序。(30分)

 

 

 

package programming;
 
import java.awt.Graphics;
import java.util.Calendar;
import java.util.GregorianCalendar;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class MultiThreadClock extends JFrame {
 
   public MultiThreadClock()
   {
      ClockPanel jp_clock=new ClockPanel();
      add(jp_clock);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setSize(400,400);
      this.setLocationRelativeTo(null);
      setVisible(true);
      Thread ClockRun=new Thread(jp_clock);
      ClockRun.start();
   }
   public static void main(String[] args) {
      // TODO Auto-generatedmethod stub
      new MultiThreadClock();
   }
}
class ClockPanel extends JPanelimplements Runnable
{
   private double CenterX,CenterY;
    private double Radius=150;
    private double HPointX,HPointY,MPointX,MPointY,SPointX,SPointY;
    private int Year,Month,Day,WeekDay,Hour,Minute,Second;
    private final double PI=3.1415926;
   public synchronized void paintComponent(Graphics g)
   {
      super.paintComponent(g);
      CenterX=this.getWidth()/2;
      CenterY=this.getHeight()/2;
      double HRadian=(PI/6)*Hour+(PI/360)*Minute+(PI/21600)*Second;
      double MRadian=(PI/30)*Minute+(PI/1800)*Second;
      double SRadian=(PI/30)*Second;
      HPointX=CenterX+Radius*0.6*Math.sin(HRadian);
      HPointY=CenterY-Radius*0.6*Math.cos(HRadian);
      MPointX=CenterX+Radius*0.8*Math.sin(MRadian);
      MPointY=CenterY-Radius*0.8*Math.cos(MRadian);
      SPointX=CenterX+Rad
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值