我改造了一下你的代碼 :
創(chuàng)新互聯(lián)建站服務(wù)項目包括鶴山網(wǎng)站建設(shè)、鶴山網(wǎng)站制作、鶴山網(wǎng)頁制作以及鶴山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,鶴山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到鶴山省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
package?com.mikuma.calendar;
import?java.util.GregorianCalendar;
import?java.util.Scanner;
public?class?Calendar{
public?static?void?main(String[]?args){
int?year?=?0;
int?month?=?0;
Scanner?scanner?=?new?Scanner(System.in);
System.out.println("請輸入您要查詢的年份");
year?=?scanner.nextInt();
System.out.println("請輸入您要查詢的月份");
while?(true){
month?=?scanner.nextInt();
if?(month??0?||?month??12){
System.out.println("月份輸入有誤,請重新輸入");
}else{
break;
}
}
printPermanentCalendar(year,?month);
}
/**
*?輸出萬年歷
*?
*?@param?year
*?@param?month
*/
private?static?void?printPermanentCalendar(int?year,int?month){
int?days?=?0;
int?totaldays?=?0;//獲取1990年至查詢的年份的天數(shù)
for?(int?i?=?1900;?i??year;?i++){
totaldays?=?totaldays?+?(isLeapYear(i)???366?:?365);
}
int?beforedays?=?0;//到指定月份的天數(shù)
for?(int?i?=?1;?i?=?month;?i++){
switch?(i)?{
case?1:
case?3:
case?5:
case?7:
case?8:
case?10:
case?12:
days?=?31;
break;
case?4:
case?6:
case?9:
case?11:
days?=?30;
break;
case?2:
days?=?isLeapYear(year)???29?:?28;
break;
default:
break;
}
if?(i??month){
beforedays?=?beforedays?+?days;
}
}
totaldays?=?totaldays?+?beforedays;//總計天數(shù),以判斷周幾;
int?weekDay?=?0;
int?temp?=?(1?+?totaldays)?%?7;
if?(temp?==?0){//1990年1月1日星期一,據(jù)此日0天星期一,以此類推
weekDay?=?0;
}else{
weekDay?=?temp;
}
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
for?(int?i?=?0;?i??weekDay;?i++){
System.out.print("\t");
}
for?(int?i?=?1;?i?=?days;?i++){
System.out.print(i?+?"\t");
if?((totaldays?+?i)?%?7?==?6){
System.out.print("\n");
}
}
}
private?static?boolean?isLeapYear(int?year){
return?new?GregorianCalendar().isLeapYear(year);
}
}
運行:
對比了下 360日歷:
結(jié)果正確
我們再測試下 2017 年 2月
對比 ?360 日歷
也是正確
學(xué)一門編程語言是進(jìn)入IT行業(yè)的法寶,很多人在明確了自己的興趣,明確了自己未來想從事的領(lǐng)域,明確了自己未來想成為一個什么樣的程序員后,選擇了學(xué)Java。
不管學(xué)哪門編程語言,一定是要學(xué)會敲代碼的,這是你不可逃避的。
學(xué)Java,怎么寫出高質(zhì)量的Java代碼?java課程認(rèn)為這就是你得高度集中精力關(guān)心的問題。
怎么寫出高質(zhì)量的Java代碼?1、堅持沒有誰能夠隨隨便便就成功,也沒有誰能夠隨隨便便敲一手高質(zhì)量的Java代碼,就算你現(xiàn)在看著別人敲代碼怎么那么輕松,他們的輕松來源于堅持多次的練習(xí),你要是想讓自己的Java代碼變得高質(zhì)量,那么就離不開你長久的堅持,只有投入足夠多的時間,做出足夠的練習(xí),你才能夠獲得質(zhì)的飛躍。
2.專業(yè)Java專業(yè)知識是基本,好比蓋樓,地基不穩(wěn),怎么也蓋不出參天大樓。
Java代碼的敲寫,很多的時候,也是一樣的,你連最基礎(chǔ)的Java理論知識都沒有掌握好,然后就想跑在其他人的前面,敲出高質(zhì)量的Java代碼,那么簡直就是做夢。
起初,Java專業(yè)知識學(xué)起來是比較枯燥的,但是你必須要好好的去研究跟掌握。
3.模仿你是怎么開始進(jìn)入Java代碼的敲寫的,很多朋友回想一下,你是不是從模仿開始的,仿照其他人已經(jīng)寫好的代碼跟著寫一遍,寫兩遍,甚至是寫三遍。
模仿很重要,同時思考也很重要,熟練來源于練習(xí),做好和作對源于不斷的實踐,你要想敲出高質(zhì)量的Java代碼,那么你一定得好好研究怎么樣模仿的效果最好。
timer=new Timer(60000,new watchListener());表示每隔60000執(zhí)行一次
public void actionPerformed(ActionEvent event){}
因此public void actionPerformed(ActionEvent event){
if(event.getSource()==b1){
timer.start();
}else if(event.getSource()==b2){
timer.stop();
}else {
//插入每隔6000執(zhí)行的代碼。要讓跑起來就是定義變量每一次增加一個值。然后設(shè)置標(biāo)簽
}
}
下面是我以前寫的??纯窗?/p>
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class T extends JFrame implements ActionListener{
private JButton start;
private JButton stop;
private JButton reset;
private JLabel mm;
private JLabel minute;
private JLabel second;
private Timer timer;
private int m;
private int ss;
private int ms;
Font a=new Font("Arial",Font.BOLD,30);
public T(){
Font font=new Font("Serief", Font.BOLD, 22);
m=0;ss=0;ms=0;
timer=new Timer(10,this);
start =new JButton("Start");
stop =new JButton("Stop");
reset=new JButton("Reset");
start.addActionListener(this);
stop.addActionListener(this);
reset.addActionListener(this);
mm=new JLabel("00");
minute=new JLabel("00");
second=new JLabel("00");
mm.setFont(font);
minute.setFont(font);
second.setFont(font);
JLabel jl=new JLabel(":");
JLabel jLabel=new JLabel(":");
jl.setFont(font);
jLabel.setFont(font);
setLayout(new GridLayout(2,1));
JPanel jPanel=new JPanel();
JPanel jPanel2=new JPanel();
jPanel.add(minute);
jPanel.add(jl);
jPanel.add(second);
jPanel.add(jLabel);
jPanel.add(mm);
jPanel2.add(start);
jPanel2.add(stop);
jPanel2.add(reset);
add(jPanel);
add(jPanel2);
setTitle("StopWatch");
setLocation(500, 200);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String []args){
new T();
}
@Override
public void actionPerformed(ActionEvent e) {
String s=e.getActionCommand();
if("Start".equals(s)){
timer.start();
start.setEnabled(false);
stop.setEnabled(true);
reset.setEnabled(true);
}else if("Stop".equals(s)){
timer.stop();
start.setEnabled(true);
stop.setEnabled(false);
reset.setEnabled(true);
}else if("Reset".equals(s)){
ms=0;
ss=0;
m=0;
mm.setText("00");
second.setText("00");
minute.setText("00");
timer.stop();
start.setEnabled(true);
stop.setEnabled(true);
}else {
ms++;
if(ms==100){
ms=0;
ss++;
}
if(ss==60){
ss=0;
m++;
}
String s1=ms+"";
String s2=ss+"";
String s3=m+"";
if(s1.length()==1)
s1="0"+s1;
if(s2.length()==1)
s2="0"+s2;
if(s3.length()==1)
s3="0"+s3;
mm.setText(s1);
second.setText(s2);
minute.setText(s3);
}
}
}
步驟:
1、在cmd中切換到編寫的代碼所保存的目錄下;
2、在cmd中輸入javac然后點空格,再點擊文件名和包括后綴名確定后,在存放編寫代碼的文件下會生成一個class的字節(jié)碼文件;
3、在cmd中輸入java然后點空格,輸入第二步中生成的字節(jié)碼的文件名,不需要后綴名,點擊確定即可運行代碼。
代碼就是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規(guī)則體系。計算機代碼稱為源代碼,是相對目標(biāo)代碼和可執(zhí)行代碼而言的。 源代碼就是用匯編語言和高級語言寫出來的地代碼,目標(biāo)代碼是指源代碼經(jīng)過編譯程序產(chǎn)生的能被cpu直接識別二進(jìn)制代碼。