我改造了一下你的代码 :
创新互联建站服务项目包括鹤山网站建设、鹤山网站制作、鹤山网页制作以及鹤山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,鹤山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到鹤山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
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年至查询的年份的天数
for (int i = 1900; i year; i++){
totaldays = totaldays + (isLeapYear(i) ? 366 : 365);
}
int beforedays = 0;//到指定月份的天数
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;//总计天数,以判断周几;
int weekDay = 0;
int temp = (1 + totaldays) % 7;
if (temp == 0){//1990年1月1日星期一,据此日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日历:
结果正确
我们再测试下 2017 年 2月
对比 360 日历
也是正确
学一门编程语言是进入IT行业的法宝,很多人在明确了自己的兴趣,明确了自己未来想从事的领域,明确了自己未来想成为一个什么样的程序员后,选择了学Java。
不管学哪门编程语言,一定是要学会敲代码的,这是你不可逃避的。
学Java,怎么写出高质量的Java代码?java课程认为这就是你得高度集中精力关心的问题。
怎么写出高质量的Java代码?1、坚持没有谁能够随随便便就成功,也没有谁能够随随便便敲一手高质量的Java代码,就算你现在看着别人敲代码怎么那么轻松,他们的轻松来源于坚持多次的练习,你要是想让自己的Java代码变得高质量,那么就离不开你长久的坚持,只有投入足够多的时间,做出足够的练习,你才能够获得质的飞跃。
2.专业Java专业知识是基本,好比盖楼,地基不稳,怎么也盖不出参天大楼。
Java代码的敲写,很多的时候,也是一样的,你连最基础的Java理论知识都没有掌握好,然后就想跑在其他人的前面,敲出高质量的Java代码,那么简直就是做梦。
起初,Java专业知识学起来是比较枯燥的,但是你必须要好好的去研究跟掌握。
3.模仿你是怎么开始进入Java代码的敲写的,很多朋友回想一下,你是不是从模仿开始的,仿照其他人已经写好的代码跟着写一遍,写两遍,甚至是写三遍。
模仿很重要,同时思考也很重要,熟练来源于练习,做好和作对源于不断的实践,你要想敲出高质量的Java代码,那么你一定得好好研究怎么样模仿的效果最好。
timer=new Timer(60000,new watchListener());表示每隔60000执行一次
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执行的代码。要让跑起来就是定义变量每一次增加一个值。然后设置标签
}
}
下面是我以前写的。看看吧
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的字节码文件;
3、在cmd中输入java然后点空格,输入第二步中生成的字节码的文件名,不需要后缀名,点击确定即可运行代码。
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。计算机代码称为源代码,是相对目标代码和可执行代码而言的。 源代码就是用汇编语言和高级语言写出来的地代码,目标代码是指源代码经过编译程序产生的能被cpu直接识别二进制代码。