软件测试期末作业Word格式.docx
- 文档编号:19107642
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:11
- 大小:860.34KB
软件测试期末作业Word格式.docx
《软件测试期末作业Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试期末作业Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
importjava.util.*;
importjavax.swing.*;
//数字时钟
publicclassShiZhongextendsJFrameimplementsRunnable
{
Threadclock;
finalintXpoint=180;
finalintYpoint=180;
finalintR=80;
intxHour=0,yHour=0,xSecond=0,ySecond=0,xMin=0,yMin=0;
publicShiZhong()
{
super("
数字时钟"
);
//调用父类构造函数
setFont(newFont("
宋体"
Font.BOLD,20));
//设置时钟的显示字体
start();
//开始进程
setSize(360,360);
//设置窗口尺寸
setVisible(true);
//窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//关闭窗口时退出程序
}
publicvoidstart()
{//开始进程
if(clock==null)//如果进程为空值
clock=newThread(this);
//实例化进程
clock.start();
publicvoidrun()//运行进程
{
while(clock!
=null)
repaint();
//调用paint方法重绘界面
try
Thread.sleep(1000);
//线程暂停一秒(1000毫秒)
catch(InterruptedExceptionex){
ex.printStackTrace();
//输出出错信息
publicvoidstop()//停止进程
clock=null;
}
publicvoidpaint(Graphicsg)//重载组件的paint方法
Graphics2Dg2=(Graphics2D)g;
//得到Graphics2D对象
DateFormatdateFormat=DateFormat.getDateInstance(DateFormat.FULL);
Calendarnow=newGregorianCalendar();
//实例化日历对象
now.setTime(newDate());
//dateFormat.format(now.getTime())
StringtimeInfo="
"
;
//输出信息
inthour=now.get(Calendar.HOUR_OF_DAY);
//得到小时数
intminute=now.get(Calendar.MINUTE);
//得到分数
intsecond=now.get(Calendar.SECOND);
//得到秒数
if(hour<
=9)
timeInfo+="
0"
+hour+"
:
//格式化输出
else
timeInfo+=hour+"
if(minute<
+minute+"
timeInfo+=minute+"
if(second<
+second;
timeInfo+=second;
g.setColor(Color.yellow);
//设置当前颜色为黄色
Dimensiondim=getSize();
//得到窗口尺寸
g.fillRect(0,0,dim.width,dim.height);
//填充背景色为白色
g.setColor(Color.red);
//设置当前颜色为红色
g.drawString(timeInfo,130,340);
//显示时间字符串
g.setColor(Color.green);
g.drawString(dateFormat.format(now.getTime()),20,60);
g.setColor(Color.black);
g.setFont(newFont("
SAN_SERIF"
Font.BOLD,15));
for(inti=0,num=12;
i<
360;
i+=6)
doublealfa=Math.toRadians(i);
intxPos=Xpoint+(int)(R*Math.sin(alfa));
intyPos=Ypoint-(int)(R*Math.cos(alfa));
if(i==0)
if(num%3==0)
//数字3,6,9,12为红色
//其余数字为黑色
g.drawString("
+num,xPos-5,yPos+3);
//写数字
num=(num+1);
."
xPos,yPos);
g.fillOval(Xpoint-4,Ypoint-4,8,8);
//画秒针
xSecond=(int)(Xpoint+(R-10)*Math.sin(second*(2*Math.PI/60)));
ySecond=(int)(Ypoint-(R-10)*Math.cos(second*(2*Math.PI/60)));
g.drawLine(Xpoint,Ypoint,xSecond,ySecond);
//画分针
xMin=(int)(Xpoint+(R-20)*Math.sin((minute+second/60)*(2*Math.PI/60)));
yMin=(int)(Ypoint-(R-20)*Math.cos((minute+second/60)*(2*Math.PI/60)));
g.drawLine(Xpoint,Ypoint,xMin,yMin);
//画时针
xHour=(int)(Xpoint+(R-30)*Math.sin((hour+minute/60+second/60/60)*(2*Math.PI/12)));
yHour=(int)(Ypoint-(R-30)*Math.cos((hour+minute/60+second/60/60)*(2*Math.PI/12)));
g.drawLine(Xpoint,Ypoint,xHour,yHour);
publicstaticvoidmain(String[]args)
newShiZhong();
然后单击“执行”
就可以出现数字时钟的界面:
从而实现我们想要的一个结果。
利用Java编写的代码来实现数字时钟。
4.开发人员:
来自一个“迷宫上的星空”的博客。
该程序中的BUG:
值得我们注意得是这段代码:
if(i==0)
其实他是存在问题的,因为它没有显示出时钟上的数字,其实正确的应该是这样的:
//数字3,6,9,12为红色
else
+1,xPos+37,yPos+15);
+2,xPos+66,yPos+44);
+3,xPos+79,yPos+84);
+4,xPos+70,yPos+125);
+5,xPos+40,yPos+153);
+6,xPos-0,yPos+165);
+7,xPos-40,yPos+154);
//写数字
+8,xPos-70,yPos+125);
+9,xPos-83,yPos+84);
+10,xPos-75,yPos+45);
+11,xPos-46,yPos+13);
运行出来的结果是这样的:
这才是我们要的做种结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 期末 作业