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