❶ C++編程,設計一個時鍾類:
#include<iostream>
usingnamespacestd;
//具有三個成員函數
classCmytime
{
public:
Cmytime(inth=0,intm=0,ints=0){}
voidShow()
{
cout<<h<<":"<<m<<":"<<s<<endl;
}
//1、對於非法賦值不給予執行,三個參數合法范圍是:0<=h<=23,0<=m,s<=60。如何參數非法,本次Set函數不改變原有值。
//2、賦值成功,返回1,否則返回0。
intSet(inth,intm,ints)
{
if(0<=h&&h<=23行爛&&0<=m&&s<=60)
{
this->h=h;
this->m=m;
this->s=s;
return1;
}
else
{
return0;
}
}
//實現在原時間檔岩漏的基礎上加1秒的時間值。
voidAddOneSecond()
{
this->s+=1;
}
protected:
inth;
intm;
ints;
};
int棗鄭main()
{
//關注我頭像哦.驚喜
Cmytimetime;
intjude=time.Set(23,25,38);
if(jude==1)
time.Show();
else
cout<<0<<endl;
time.AddOneSecond();
time.Show();
system("pause");
return0;
}
❷ C語言程序設計:圖形時鍾
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "graphics.h"
#include "math.h"
#include "time.h"
#include "dos.h"
#include "stdlib.h"
#include "conio.h"
#define R 200
#define PI 3.1415926
#define X(a,b,c) x=a*cos(b*c*PI/180-PI/2)+300
#define Y(a,b,c) y=a*sin(b*c*PI/180-PI/2)+240
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y)
void init(void);
void draw_bp(void);
void close(void);
void draw_kt(void);
int main(void)
{
int x,y,hc=0;
int bx,by,ax,ay;
int h,m,s;
struct time t[1];
init();
draw_bp();
draw_kt();
setwritemode(1);
gettime(t);
h=t[0].ti_hour;
m=t[0].ti_min;
s=t[0].ti_sec;
setcolor(7);
d(150,h,30);
setcolor(14);
d(170,h,6);
setcolor(4);
d(190,s,6);
while(!kbhit())
{
while(t[0].ti_sec==s)
gettime(t);
sound(400);
delay(70);
sound(200);
delay(30);
nosound();
setcolor(4);
d(190,s,6);
s=t[0].ti_sec;
setfillstyle(SOLID_FILL,13);
floodfill(1,380,14);
setcolor(4);
d(190,s,6);
if(t[0].ti_min!=m)
{
setcolor(14);
d(170,m,6);
m=t[0].ti_min;
d(170,m,6);
}
if(t[0].ti_hour!=h)
{
setcolor(7);
d(150,h,30);
h=t[0].ti_hour;
d(150,h,30);
sound(1000);
delay(240);
nosound();
delay(140);
sound(2000);
delay(240);
nosound();
}
setcolor(hc++);
if(hc==12) hc=0;
ellipse(300,300,160,340,23,23);
ellipse(220,170,0,360,23,65);
ellipse(380,170,0,360,23,65);
ellipse(300,180,0,180,23,23);
ellipse(380,180,0,180,23,23);
arc(150,80,20,250,59);
}
close();
return 0;
}
void init(void)
{
int driver,mode;
driver=DETECT;
initgraph(&driver,&mode,"c:\\tc");
cleardevice();
}
void draw_bp(void)
{
int x=300,y=240,i,n,l,ax,ay,bx,by;
for(n=0;n<27;n++)
printf("\n");
for(n=0;n<29;n++)
printf(" ");
setbkcolor(0);
setcolor(14);
circle(x,y,R);
setcolor(12);
circle(x,y,190);
setfillstyle(SOLID_FILL,14);
floodfill(x,y,12);
setfillstyle(SOLID_FILL,13);
floodfill(1,1,14);
setcolor(2);
circle(x,y,2);
circle(x,y,5);
for(i=0;i<60;i++)
{
if(i%5==0)
l=15;
else
l=5;
ax=200*cos(i*6*PI/180)+300;
ay=200*sin(i*6*PI/180)+240;
bx=(200-l)*cos(i*6*PI/180)+300;
by=(200-l)*sin(i*6*PI/180)+240;
line(ax,ay,bx,by);
}
settextstyle(3,0,5);
outtextxy(260,380,"MADEIN CHINA");
}
void draw_kt(void)
{
int x=300,y=240;
ellipse(x-80,y-70,0,360,23,65);
ellipse(x+80,y-70,0,360,23,65);
ellipse(x-80,y-60,0,180,23,23);
setfillstyle(SOLID_FILL,0);
floodfill(x-80,y-60,2);
ellipse(x+80,y-60,0,180,23,23);
setfillstyle(SOLID_FILL,0);
floodfill(x+80,y-70,2);
setcolor(5);
circle(150,80,60);
setfillstyle(SOLID_FILL,14);
floodfill(150,80,5);
circle(450,80,60);
setfillstyle(SOLID_FILL,14);
floodfill(450,80,5);
setcolor(14);
arc(150,80,0,360,60);
arc(450,80,0,360,60);
setcolor(0);
ellipse(x,y+60,160,340,23,23);
circle(x+120,y+10,23);
setfillstyle(SOLID_FILL,12);
floodfill(x+120,y+10,0);
setcolor(14);
circle(x+120,y+10,23);
setcolor(0);
circle(x-120,y+10,23);
setfillstyle(SOLID_FILL,12);
floodfill(x-120,y+10,0);
setcolor(14);
circle(x-120,y+10,23);
ellipse(x,y+60,0,180,23,23);
}
void close(void)
{
getch();
closegraph();
}
❸ 怎麼用C語言編程數字時鍾
1、以下常式實現時鍾的實時顯示基本要求: 1) 自行設計界面,模擬表盤式時鍾。要求界面美觀,清晰。2)數字同步顯示時間信息。
2、常式:
#include<graphics.h>
#include<math.h>
#include<dos.h>
#definePI3.1415926
//屏幕中心的坐標(640X480模式下)
#definemid_x320
#definemid_y240
intmain()
{intgraphdriver=DETECT,graphmode;
intend_x,end_y;
structtimecurtime;
floatth_hour,th_min,th_sec;
initgraph(&graphdriver,&graphmode,"C:\TC2");//初始化VGA屏幕模式
setbkcolor(BLACK);//使用黑色的背景色
while(!kbhit(0))//若有鍵盤輸入,則跳出,即是結束程序
{setcolor(GREEN);//把畫筆設為綠色
circle(mid_x,mid_y,180);//鍾的外圓
circle(mid_x,mid_y,150);//鍾的內圓
circle(mid_x,mid_y,1);//畫出鍾的圓心
gettime(&curtime);//取得系統當前時間
th_sec=(float)curtime.ti_sec*0.1047197551;//把秒針的角度化為弧度,為以後繪制時方便,下同
th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;//分針的弧度
th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0;//時度的弧度,注意整時是12等分的,所時乘的是3.14/180*5
//計算出時針的尾的坐標(時針長70)
end_x=mid_x+70*sin(th_hour);
end_y=mid_y-70*cos(th_hour);
setcolor(RED);
line(mid_x,mid_y,end_x,end_y);//用紅色線畫出時針
//計算出分針坐標(分針長110)
end_x=mid_x+110*sin(th_min);
end_y=mid_y-110*cos(th_min);
setcolor(RED);
line(mid_x,mid_y,end_x,end_y);//用紅色畫出分針
end_x=mid_x+140*sin(th_sec);
end_y=mid_y-140*cos(th_sec);
setcolor(RED);
line(mid_x,mid_y,end_x,end_y);//同上,畫出秒針,長為140
//畫出鍾盤上的刻度,刻度長20
line(140,240,160,240);//9點對應的大刻度
line(320,60,320,80);//12點對應的大刻度
line(500,240,480,240);//3點的刻度
line(320,420,320,400);//6點的刻度
line(410,395.7,400,378.4);//5點
line(475.7,330,458.4,320);//4點
line(475.7,150,458.4,160);//2點
line(410,84.3,400,101.6);//1點
line(230,84.3,240,101.6);//11點
line(164.3,150,181.6,160);//10點
line(164.3,330,181.6,320);//8點
line(230,395.7,240,378.4);//7點
sleep(BLUE);//這里應該是打錯,停止一秒,應為sleep(1000)
cleardevice();//清除屏幕上的顯示
}
closegraph();//關閉VGA屏幕,即返迴文本方式
return0;
}
❹ java如何在2048中實現時間
java編寫時鍾程序_Java實現時鍾小程序 原創
2021-02-17 00:47:37
無可就是九頭鳥
碼齡6年
關注
哎,好久沒上博客園發東西了,上一次還是兩個月前的五一寫的一篇計算器博客,不過意外的是那個程序成了這學期的Java大作業,所以後來稍微改了一下那個程序就交了上去,這還是美滋滋。然後五月中旬的時候寫了一個2048小游戲,由於寫完第二個版本第二天就生病了,休養了好幾天才緩過來,最後嫌麻煩就沒發園子里了,直接掛Github上了。然後又忙著准備期末,期末玩休息了5天又開始資料庫課程設計,用Java寫了一個小系統,花了一個星期左右,寫了差不多3500行了。然後寫完就放學了,放學的日子就感覺自己開始懶散了,靜不下心來寫東西,每天睡覺,看一些無聊的視頻。。。前幾天算是緩過神來,找回了腦子,於是又開始想著在放棄Java之前再多寫一點東西,於是花了兩個下午寫了一個時鍾,感覺看著還行。
-----------------------------------以下是正經話-----------------------------------
其實這個程序並不難,主要是用Java 2D畫圖,弄一個線程兆謹陵,每隔一秒,依照時針分針秒針各自的速度重新計算它們走過的角度(相對12點方向順時針偏離的角度),利用這個角度算出它們各自端點的坐標,重繪一次表針,達到刷新的目的,最後時限走動的效果,思路很簡單,清晰明了。但是關鍵是這個畫圖呀,想著很容易,重寫繼承過來的JFrame里的paint函數就行,最後發現效果並不是期待的那樣,而是一閃一閃的,於是去尋找原因,結果,尼瑪,原來水這么深,一下子觸到了知識盲區,什麼repaint的實現細節,先調用update,再調用paint,update函數又是如何工作的,慢慢弄懂了它為什麼會一閃一閃的原因,然後尋找解決辦法,然後就看到了什麼雙緩沖原理,WTF!什麼玩意呀,根本沒聽過,然後乖乖地去看那東西的實現原理,又看到有人建議不要去重寫paint方法,說是會遇到諸多意想不到的問題,建議去重寫paintComponent方法,可是書本上畫圖的例子都是重寫paint方法呀,況且我也沒聽過paintComponent,無奈晌哪,又去看了一下paint的工作原理,原來它會調用paintComponent,最後放棄了自己實現雙緩沖,乖乖族戚改用了paintComponent。。。
其實我還遇到了幾個腦殘的問題,比如在畫秒針時,直接把畫時針的部分代碼復制下來,最後忘了改掉走動的速度,結果運行時還在想秒針怎麼走不動呢?原諒我是個逗逼,還有什麼秒針逆時針走動,最後才發現算坐標時誤把y軸正方向當成了向上,哎。。。
Anyway,最後運行的效果還是挺好的
.png
-----------------------------------以下是代碼-----------------------------------
1 import java.awt.*;2 importjava.util.Date;3 import javax.swing.*;4
5 public class Clock extendsJComponent{6 /**
7 *8 */
9 private static final long serialVersionUID = -5379472973578609775L;10 private Font f = new Font("微軟雅黑",Font.PLAIN,15);11 private Font f2 = new Font("微軟雅黑",Font.BOLD,15);12 private JLabel l = new JLabel("當前時間:");13 private JLabel display = newJLabel();14 private JLabel display2 = new JLabel("");15 private int hour = 0;16 private int min = 0;17 private int sec = 0;18 private Date now = newDate();19 privateGraphics2D g;20 final double PI =Math.PI;21 private String strTime = "";22
23 @SuppressWarnings("deprecation")24 publicClock(){25 add(l);26 l.setBounds(120, 320, 80, 20);27 l.setFont(f);28 add(display);29 display.setBounds(195, 320, 80, 20);30 display.setFont(f);31 display.setBorder(BorderFactory.createLineBorder(Color.black));32 add(display2);33 display2.setBounds(90, 350, 250, 20);34 display2.setFont(f);35 hour =now.getHours();36 min =now.getMinutes();37 sec =now.getSeconds();38 setVisible(true);39 }40
41 public voidpaintComponent(Graphics g1){42 doublex,y;43 super.paintComponent(g1);44 g =(Graphics2D) g1;45 //反鋸齒開關開
46 g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);47
48 //畫表盤
49 g.setPaint(new GradientPaint(5,40,Color.blue,15,50,Color.yellow,true));50 g.setStroke( new BasicStroke(3,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL));51 g.drawOval(75, 40, 250, 250);52 g.fillOval(195, 160, 10, 10);53 g.setColor(Color.black);54
55 //畫60個點
56 for(int i = 0;i < 60;i++)57 {58 double[] co = new double[2];59 co = paint_Dot(i * 2 * PI / 60);60 x = co[0];61 y = co[1];62 if(i == 0 || i == 15 || i == 30 || i == 45)//畫3,6,9,12四個大點
63 {64 g.fillOval((int)(x - 5 + 200),(int)(y - 5 + 165),10,10);65 }66 else//其他小點
67 {68 g.fillOval((int)(x - 2.5 + 200),(int)(y - 2.5 + 165),5,5);69 }70 }71
72 //畫四個數字
73 g.setFont(f2);74 g.drawString("3", 300, 171);75 g.drawString("6", 195, 273);76 g.drawString("9", 91, 171);77 g.drawString("12", 190, 68);78
79 //畫時針,分針,秒針
80 paint_HourPointer(hour*3600 + min*60 + sec,g);//時針走過的秒數
81 paint_MinutePointer(min*60 + sec,g);//分針走過的秒數
82 paint_SecondPointer(sec,g);//秒針走過的秒數
83 }84
85 public voidshowUI(){86 newThread() {87 @SuppressWarnings("deprecation")88 public voidrun() {89 while (true)90 {91 now = newDate();92 hour =now.getHours();93 min =now.getMinutes();94 sec =now.getSeconds();95 try{96 Thread.sleep(1000);97 } catch(InterruptedException ex) {98 ex.printStackTrace();99 }100 showTime();101 repaint();102 }103 }104 }.start();105 }106
107 public void paint_HourPointer(int second,Graphics2D g){//second表示當前時間的時針相對00:00:00走了多少秒
108 doublex,y,angle;109 angle = second * PI / 21600;//時針的速度為PI/21600 (rad/s)
110 x = 200 + 60 *Math.sin(angle);111 y = 165 - 60 *Math.cos(angle);112 g.setStroke( new BasicStroke(5,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND));113 g.setPaint(new GradientPaint(200,165,Color.red,260,165,Color.blue,true));114 g.drawLine(200, 165, (int)x, (int)y);115 }116
117 public void paint_MinutePointer(int second,Graphics2D g){//second表示當前時間的分針相對00:00:00走了多少秒
118 doublex,y,angle;119 angle = second * PI / 1800;//分針的速度為PI/1800 (rad/s)
120 x = 200 + 80 *Math.sin(angle);121 y = 165 - 80 *Math.cos(angle);122 g.setStroke( new BasicStroke(3,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND));123 g.setPaint(new GradientPaint(200,165,Color.magenta,280,165,Color.blue,true));124 g.drawLine(200, 165, (int)x, (int)y);125 }126
127 public void paint_SecondPointer(int second,Graphics2D g){//second表示當前時間的秒針相對00:00:00走了多少秒
128 doublex,y,x1,y1,x2,y2,x3,y3,angle;129 double cos = 90 / Math.sqrt(8125);//90*90+5*5
130 double sin = 5 / Math.sqrt(8125);131 angle = second * PI / 30;//時針的速度為PI/30 (rad/s)
132 x = 200 + 95 *Math.sin(angle);133 y = 165 - 95 *Math.cos(angle);134 x1 = 200 + 20 * Math.sin(angle +PI);135 y1 = 165 - 20 * Math.cos(angle +PI);136 x2 = 200 + Math.sqrt(8125)* ( Math.sin(angle)*cos - Math.cos(angle)*sin ); //sin(a-b)
137 y2 = 165 - Math.sqrt(8125)* ( Math.cos(angle)*cos + Math.sin(angle)*sin ); //cos(a-b)
138 x3 = 200 + Math.sqrt(8125)* ( Math.sin(angle)*cos + Math.cos(angle)*sin ); //sin(a+b)
139 y3 = 165 - Math.sqrt(8125)* ( Math.cos(angle)*cos - Math.sin(angle)*sin ); //cos(a+b)
140 g.setStroke( new BasicStroke(2,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL));141 g.setPaint(new GradientPaint(180,165,Color.CYAN,295,165,Color.MAGENTA,true));142 g.drawLine((int)x1, (int)y1, (int)x, (int)y);143 g.drawLine((int)x2, (int)y2, (int)x, (int)y);144 g.drawLine((int)x3, (int)y3, (int)x, (int)y);145 }146
147 public double[] paint_Dot(doubleangle){148 double[] co = new double[2];149 co[0] = 115 * Math.cos(angle);//橫坐標
150 co[1] = 115 * Math.sin(angle);//縱坐標
151 returnco;152 }153
154 @SuppressWarnings("deprecation")155 private voidshowTime(){156 String date;157 int hour_temp = hour,min_temp = min,sec_temp =sec;158 sec_temp += 1;159 if(sec_temp >= 60)160 {161 sec_temp = 0;162 min_temp += 1;163 }164 if(min_temp>=60){165 min_temp=0;166 hour_temp+=1;167 }168 if(hour_temp < 10)169 strTime = "0" + hour_temp + ":";170 else
171 strTime = "" + hour_temp + ":";172
173 if(min_temp < 10)174 strTime = strTime + "0" + min_temp + ":";175 else
176 strTime = strTime + "" + min_temp + ":";177
178 if(sec < 10)179 strTime = strTime + "0" +sec_temp;180 else
181 strTime = strTime + "" +sec_temp;182 //在窗體上設置顯示時間
183 date = " " + (now.getYear()+1900) + "年" + (now.getMonth()+1) + "月" + now.getDate() + "日 " + "星期";184 switch(now.getDay()) {185 case 1:186 date += "一";187 break;188 case 2:189 date += "二";190 break;191 case 3:192 date += "三";193 break;194 case 4:195 date += "四";196 break;197 case 5:198 date += "五";199 break;200 case 6:201 date += "六";202 break;203 case 7:204 date += "日";205 break;206 }207 date += " CST";208 strTime = " " +strTime;209 display.setText(strTime);210 display2.setText(date);211 }212
213 public static voidmain(String args[]){214 Clock c = newClock();215 c.showUI();216 JFrame f = new JFrame("Clock By XJX");217 Image img=Toolkit.getDefaultToolkit().getImage("title.gif");//窗口圖標
218 f.setIconImage(img);219 f.setSize(400,400);220 f.setResizable(false);221 f.add(c, BorderLayout.CENTER);222 f.setLocationRelativeTo(null);223 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);224 f.setVisible(true);225 }226 }
相關資源:...模擬和代碼)_51單片機做實時時鍾顯示-小程序文檔類資源-CSDN文庫
文章知識點與官方知識檔案匹配
Java技能樹首頁概覽
91513 人正在系統學習中
打開CSDN APP,看更多技術內容
不會編程也能親手編寫一個桌面數字小時鍾程序,僅3步輕松實現_程序員笑...
第一步 打開電腦自帶的記事本並編寫以下腳本。 源碼: @echo off Title 小時鍾丨編程獅(w3cschool.cn) @mode con cols=50lines=5color00:main cls echo.echo 時間:%time%echo.echo 日期:%date%echo.ping-n20.0.0.0>nulgotomain ...
繼續訪問
OpenGL織夢之旅【第二章】編寫一個的鍾表程序_plusplus7的博客-CSDN...
在配置好了glut環境以後,運行了第一個opengl程序以後,我們現在就來嘗試編寫一個實用一點的程序——時鍾程序。 如圖: 製作這樣一個程序,對於初學者來說,感覺上或許很難,但是只要我們一步一步地慢慢來,總會有熟練掌握的那一天。「包子要...
繼續訪問
Java時鍾程序(繪制了一個帶時針 分針 秒針的模擬時鍾)
這是我自己寫的一個java時鍾程序 當然你可以自己改動 喜歡就拿去吧
Java時鍾小程序
Java時鍾小程序,可以顯示出當前的系統時間,
java 鍾_JAVA時鍾 - 代碼塊 - 扣丁書屋 - https://www.codingsky.com
import javax.swing.*;import java.awt.*;import java.util.*;import java.lang.Thread;import java.text.DecimalFormat;public class DongClock extends JPanel {/*** @param args*/private int hour;private int m...
繼續訪問
使用eclipse設計開發的安卓軟體,鬧鍾定時器
使用eclipse開發的安卓軟體--鬧鍾定時器,學生開發的小作業。 學生黨可以下載參考的軟體,首次學習,還在很多的不足,不喜勿噴,謝謝!
java 電子時鍾_Java電子時鍾實現代碼
用Java編寫一個程序,實現動態的文字時鍾,以秒計時。知識點:1、線程(Thread)2、Applet類:它最先執行iniy()方法,完成後進入初始態;然後馬上執行start()方法,Applet程序進入運行狀態;線程也在start()中被啟動,然後執行run()中的內容。當Applet程序所在的瀏覽器圖標化或者轉入其他頁面時,Applet程序馬上執行stop()方法3、Java不像C++,只能...
繼續訪問
java時鍾_Java實現時鍾小程序
哎,好久沒上博客園發東西了,上一次還是兩個月前的五一寫的一篇計算器博客,不過意外的是那個程序成了這學期的Java大作業,所以後來稍微改了一下那個程序就交了上去,這還是美滋滋。然後五月中旬的時候寫了一個2048小游戲,由於寫完第二個版本第二天就生病了,休養了好幾天才緩過來,最後嫌麻煩就沒發園子里了,直接掛Github上了。然後又忙著准備期末,期末玩休息了5天又開始資料庫課程設計,用Java寫了一個小...
繼續訪問
java 簡易時鍾
簡易時鍾演示圖一、界面設計二、獲取時間與設置時間三、完整代碼總結 演示圖 非常質朴的時鍾 一、界面設計 JFrame app=new JFrame("電子鬧鍾"); Container c=app.getContentPane(); //設置一個面板容器 面板為初始設置面板 JLabel clock=new JLabel("電子鬧鍾"); clock.setHorizontalTextPosition(JLabel.CENTER); /.
繼續訪問
時鍾程序設計java_Java數字時鍾實現代碼詳解
這是一個數字鍾表程序,主要功能是從系統中獲取當前的系統時間然後再將其顯示在數字時鍾上,由於整個的數字時鍾都是用函數構成的,所以它可以實現一般的數 字時鍾所不具有的功能,比如說它可以被滑鼠指針拖動到窗口的任意位置,除此之外它還可以實現鍾表大小隨滑鼠滾輪的滾動而變大變小的操作。package TheClock;import java.awt.*;import javax.swing.*;import ...
繼續訪問
鍾表java程序教程 創建_JAVA--編寫時鍾的程序
代碼如下:import java.awt.*;import java.text.DateFormat;import java.util.*;import javax.swing.*;public class ClockDemo extends JFrame implements Runnable{Thread clock;final int Xpoint=180;final int Ypoint=...
繼續訪問
java時鍾代碼_JAVA實現時鍾
時鍾題目內容:在課程所給的時鍾程序的基礎上修改。這一周的編程題是需要你在課程所給的時鍾程序的基礎上修改而成。但是我們並不直接給你時鍾程序的代碼,請根據視頻自己輸入時鍾程序的Display和Clock類的代碼,然後來做這個題目。我們需要給時鍾程序加上一個表示秒的Display,然後為Clock增加以下public的成員函數:public Clock(int hour, int minute, int...
繼續訪問
JAVA實現時鍾
時鍾 題目內容: 在課程所給的時鍾程序的基礎上修改。 這一周的編程題是需要你在課程所給的時鍾程序的基礎上修改而成。但是我們並不直接給你時鍾程序的代碼,請根據視頻自己輸入時鍾程序的Display和Clock類的代碼,然後來做這個題目。 我們需要給時鍾程序加上一個表示秒的Display,然後為Clock增加以下public的成員函數: public Clock(int hour, i...
繼續訪問
java gui 做鬧鍾,用JAVA怎樣編寫一個可以在eclipse中運行的鬧鍾程序?
首先java程序的運行你需要下載和安裝JDK,這是java運行的必備環境。首先你要在桌面上找到是eclipes,雙擊打開。在eclipes啟動的過程中,會彈出一個窗口,讓你填寫java工作區的保存目錄,在這個目錄下會保存你寫的所有的源代碼文件,小編建議你不要把工作區放在C盤,你如果重裝系統的話,源代碼就會全部損失。ecplies啟動完成之後,會有一個歡迎頁面,這個不用管,直接點擊左上方的差號,取消...
繼續訪問
自定義時鍾控制項
通過繼承View類,我們可以自定義自己需求的復雜控制項。本例實現了一個自定義的時鍾。 效果如下: 代碼如下: package com.example.test; import java.util.Calendar; import android.content.Context; import android.graphics.Bitmap; import android.gra
繼續訪問
java時鍾課程設計,Java課程設計-時鍾圖形模擬
《Java課程設計-時鍾圖形模擬》由會員分享,可在線閱讀,更多相關《Java課程設計-時鍾圖形模擬(19頁珍藏版)》請在人人文庫網上搜索。1、課 程 設 計 任 務 書專 業通信工程班 級13級四班姓 名張凱銘設 計 起 止 日 期設計題目:時鍾圖形模擬設計任務(主要技術參數):硬體環境:CPU:Pentium 2.8GHz以上 內存:256MB以上 硬碟空間:80G以上軟體環境:(1)操作系統:...
繼續訪問
最新發布 用Java編寫一個時鍾
public class Display { private int value=0; private int limate=0; public void increase() { value++; if(value==limate) { value=0; } } public int getvalue() { return value; } Display(int limate){ this.limate=limate; } } public clas.
繼續訪問
java編寫時鍾程序_Java編寫時鍾 Applet 程序
簡單分析:package clockApplet;import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;import java.util.Calendar;import java.util.GregorianCalendar;public class ClockApplet extends Applet i...
繼續訪問
java 畫圖板源代碼_非常值得學習的java 繪圖板源代碼
package minidrawpad;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.io.Serializable;//圖形繪制類 用於繪制各種圖形//父類,基本圖形單元,用到串列的介面,保存使用到//公共的屬性放到超類中,...
繼續訪問
Eclipse編寫的Android數字時鍾應用實例(用新建Runnable的方法)
Eclipse V4.2.0用新建Runnable的方法編寫的Android數字時鍾應用實例。
java時鍾日歷_java日歷時鍾小程序
java日歷時鍾小程序 java日歷時鍾小程序 Java時鍾程序,按類粘貼至編譯器編譯即可使用。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListene...
繼續訪問
java顯示一個鍾表_java實現時鍾效果
本文實例為大家分享了java實現時鍾效果的具體代碼,供大家參考,具體內容如下實現效果如圖:Java代碼:文件一:ClockPanel.javaimport static java.util.Calendar.HOUR;import static java.util.Calendar.MILLISECOND;import static java.util.Calendar.MINUTE;import...
繼續訪問
時鍾程序很難做嗎
java編寫時鍾程序
❺ 誰能告訴我51單片機簡單的led數碼管時鍾程序 24小時制的(c語言版的)
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar shi,fen,miao;
uchar time;
void delay(uint x)
{
uint y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
}
}
void display(uchar shi,uchar fen,uchar miao)
{
P2=0; //位碼
P0=(tab[shi/10]); //段碼
delay(2);
P2=1;
P0=(tab[shi%10]);
delay(2);
P2=2; //位碼
P0=0x40; //段碼
delay(2);
P2=3; //位碼
P0=(tab[fen/10]); //段碼
delay(2);
P2=4;
P0=(tab[fen%10]);
delay(2);
P2=5; //位碼
P0=0x40; //段碼
delay(2);
P2=6; //位碼
P0=(tab[miao/10]); //段碼
delay(2);
P2=7;
P0=(tab[miao%10]);
delay(2);
}
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(time==20)
{
time=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==24)
shi=0;
}
}
}
display(shi,fen,miao);
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
}
/*還有什麼不明白繼續追加*/
❻ c語言怎麼樣編寫一個時鍾程序
c語言行敬並時鍾程序代碼如下:
#include<windows.h>
#include<math.h>
#define ID_TIMER 1//計時器ID
#define TWOPI (2*3.14159)
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("Clock"檔跡稿孫);
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WndProc;
wndclass.lpszClassName=szAppName;
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires Windows
T"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,TEXT("Analog Clock"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
void Setsotropic(HDC hdc,int cxClient,int cyClient)
{
SetMapMode(hdc,MM_ISOTROPIC);
SetWindowExtEx(hdc,1000,1000,NULL);
SetViewportExtEx(hdc,cxClient/2,-cyClient/2,NULL);
SetViewportOrgEx(hdc,cxClient/2,cyClient/2,NULL);
}
void RotatePoint(POINT pt[],int iNum,int iAngle)
{
int i;
POINT ptTemp;
for(i=0;i<iNum;i++)
{
ptTemp.x=(int)(pt[i].x*cos(TWOPI*iAngle/360)+pt[i].y*sin(TWOPI*iAngle/360));
ptTemp.y=(int)(pt[i].y*cos(TWOPI*iAngle/360)+pt[i].x*sin(TWOPI*iAngle/360));
pt[i]=ptTemp;
}
}
void DrawClock(HDC hdc)
{
int iAngle;
POINT pt[3];
for(iAngle=0;iAngle<360;iAngle+=6)
{
pt[0].x=0;
pt[0].y=900;
RotatePoint(pt,1,iAngle);
pt[2].x=pt[2].y=iAngle%5?33:100;
pt[0].x-=pt[2].x/2;
pt[0].y-=pt[2].y/2;
pt[1].x=pt[0].x+pt[2].x;
pt[1].y=pt[0].y+pt[2].y;
SelectObject(hdc,GetStockObject(BLACK_BRUSH));
Ellipse(hdc,pt[0].x,pt[0].y,pt[1].x,pt[1].y );
}
}
void DrawHands(HDC hdc,SYSTEMTIME *pst,BOOL fChange)
{
static POINT pt[3][5]={0,-150,100,0,0,600,-100,0,0,-150, 0,-200,50,0,0,800,-50,0,0,-200, 0,0,0,0,0,0,0,0,0,800 };
int i,iAngle[3];
POINT ptTemp[3][5];
iAngle[0]=(pst->wHour*30)%360+pst->wMinute/2;
iAngle[1]=pst->wMinute*6;
iAngle[2]=pst->wSecond*6;
memcpy(ptTemp,pt,sizeof(pt));
for(i=fChange?0:2;i<3;i++)
{
RotatePoint(ptTemp[i],5,iAngle[i]);
Polyline(hdc,ptTemp[i],5);
}
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
static int cxClient,cyClient;
static SYSTEMTIME stPrevious;
BOOL fChange;
HDC hdc;
PAINTSTRUCT ps;
SYSTEMTIME st;
switch(message)
{
case WM_CREATE:
SetTimer(hwnd,ID_TIMER,1000,NULL);
GetLocalTime(&st);
stPrevious=st;
return 0;
case WM_SIZE:
cxClient=LOWORD(lParam);
cyClient=HIWORD(lParam);
return 0;
case WM_TIMER:
GetLocalTime(&st);
fChange=st.wHour!=stPrevious.wHour||st.wMinute!=stPrevious.wMinute;
hdc=GetDC(hwnd);
Setsotropic(hdc,cxClient,cyClient);
SelectObject(hdc,GetStockObject(WHITE_PEN));
DrawHands(hdc,&stPrevious,fChange);
SelectObject(hdc,GetStockObject(BLACK_PEN));
DrawHands(hdc,&st,TRUE);
stPrevious=st;
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
Setsotropic(hdc,cxClient,cyClient);
DrawClock(hdc);
DrawHands(hdc,&stPrevious,TRUE);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
KillTimer(hwnd,ID_TIMER);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}
❼ 怎麼用3+done做鍾表
3D鍾表模型:使用SolidWorks2014 繪制;
繪制過程:
1、在前視基準面上繪制草圖;
2、旋轉凸台生成實體;
3、在表盤的平面上繪制草圖 中心矩形:1X15;矩形中心與原點豎直;
4、拉伸凸台生成表盤標線:給定深度1;勾選合並結果;
5、圓周陣列:陣列軸選擇圓柱面;數量12;要陣列的特徵選擇拉伸凸台特徵;
6、在表盤平面上繪制草圖 中心線+草圖數字:①繪制一段長度1mm的中心線並標注尺寸;②繪制兩條中心線,兩中心線夾角30°,其中一條豎直並穿過原點,兩中心線的交點與原點距離10;③繪制一條中心線,中心線中點與30°中心線的上端點重合,與30°中心線的夾角120°;
7、滑鼠左鍵點選尺寸1,在左側屬性管理器中選擇主要值中的尺寸名稱字元,按鍵盤Ctrl+C復制;
8、插入草圖文字:曲線選擇與30度中心線端點重合的中心線;點擊文本框,按鍵盤Ctl+V粘貼復制的字元;給字元加英文格式的雙引號;位置選擇居中;取消使用文檔字體;設定位置高度20;
9、拉伸凸台:給定深度1;勾選合並結果;
10、圓周陣列:陣列軸選擇角度尺寸30°;角度30°;數量12個;要陣列的特徵選擇拉伸凸台特徵;勾選變化的實例;選擇尺寸1,設定增量1;選擇尺寸120°,設定增量30°;
11、在前視基準面上繪制草凳虛圖:中間的豎直直線與原點重合;
12、旋轉凸台生成鍾表指針的轉軸;
13、在由下至上的第一個台階面上繪制草圖 時針輪廓;
14、拉伸凸台生成時針:給定深度0.5;
15、在由下至上的第二個台階面上繪制草圖 分針輪廓;
16、拉伸凸台生成分針:給定深度0.5;
17、在由下至上的第三個台階面升瞎上繪制草圖 秒針輪廓;
18、拉伸凸台生成秒針:給定深度0.5;棗笑燃
19、在頂面上繪制草圖 圓(使用轉換實體引用繪制);
20、拉伸凸台生成玻璃:開始條件,反向,等距4;結束條件,給定深度2;
21、完成。
❽ c語言程序設計 計算時鍾的夾角
程渣如序可以計算0:00~23:59之間的任意時刻兩針之間的夾角。
#include <stdio.h>
#include <math.h>
int main()
{int m,h;
float a,a1,a2;
scanf("%d%d",&h,&m);
a1=h%12*30+0.5*m; //時針每走1小時是肆哪30度,1分鍾如雹啟走0.5度
a2=6*m; //分針每走1分鍾是6度
a=fabs(a1-a2); //夾角為二者之差的絕對值
printf("At %d:%d the angle is %.1f degrees. ",h,m,a);
return 0;
}
❾ 用plc編程24小時時鍾程序
沒有分沒有寫程序動力,告訴你思路吧
1、OB35 設定1000ms循環
2、在ob35中個累加,並且安分鍾和小時寄存
3、比較,當分鍾讓消燃的寄存器=30時,繼電器輸出1s
4、分鍾繼存器=0時,寫一段循環程序:當當前小時大於臨時寄存器 進行下面的程序,繼電器的輸出1s和一個臨時坦虛寄存器的累加, 當臨時寄存器的累加值大於當前小時,就不進行循環,
5、秒橋大閃爍這個就是500ms輸出,然後弄一個500ms定時器進行不輸出。
就這么多了,很簡單的程序,