📄 ex3_34.java
字号:
//3.34(显示月历)
import javax.swing.JOptionPane;
public class Ex3_34{
public static void main (String[] args) {
int year,month,week,numofday=0,i;
year=Integer.parseInt(JOptionPane.showInputDialog("请输入年号:"));
week=Integer.parseInt(JOptionPane.showInputDialog("输入该年第一天的星期:"));
for(month=1;month<=12;month++){
switch(month){ //利用switch输出日历每个月的头部并计算得到每个月的天数
case 1:System.out.println(" January "+year);
numofday=31; break;
case 2:System.out.println(" Feburary "+year);
if((year%400)==0||(year%4==0&&year%100!=0))
numofday=29;
else
numofday=28;
break;
case 3:System.out.println(" March "+year);
numofday=31; break;
case 4:System.out.println(" April "+year);
numofday=30; break;
case 5:System.out.println(" May "+year);
numofday=31; break;
case 6:System.out.println(" June "+year);
numofday=30; break;
case 7:System.out.println(" July "+year);
numofday=31; break;
case 8:System.out.println(" August "+year);
numofday=31; break;
case 9:System.out.println(" September "+year);
numofday=30; break;
case 10:System.out.println(" October "+year);
numofday=31; break;
case 11:System.out.println(" November "+year);
numofday=30; break;
case 12:System.out.println(" December "+year);
numofday=31; break;
}
System.out.println("----------------------------");
System.out.println(" Sun Mon Tue Wen Thu Fri Sat");//打印星期的头部
for(i=0;i<week%7;i++)
System.out.print(" ");
for(i=1;i<=numofday;i++){
if(i<10) System.out.print(" "+i);//对齐输出,使得一位数和两位数的输出结果能与前面星期的头部保持对齐
else System.out.print(" "+i);
if((week+i)%7==0&&i!=numofday) System.out.println("\n"); //每输出7天进行换行
}
week=(week+i)%7;//根据上一个月第一天的星期计算出下个月第一天的星期
System.out.println("\n");
}
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -