万年历的编写

=========================== 1 ==========================
import javax.swing.*;
import java.lang.*;


public class Wanyear
{
public static void main(String[] args)
{
String input=JOptionPane.showInputDialog
("Please Enter the year");

int year=Integer.parseInt(input);

String input1=JOptionPane.showInputDialog
("Please Enter the Month");

int m=Integer.parseInt(input1);


String input2=JOptionPane.showInputDialog
("Please Enter the Day");

int d=Integer.parseInt(input2);

 


String Nyear=Integer.toString(year);

String Sc=Nyear.substring(0,1);
String Sy=Nyear.substring(2,3);

int c=Integer.parseInt(Sc);
int y=Integer.parseInt(Sy);

if(m<3){
year--;
m+=12;}

else
c--;


int w=(c/4)-(2*c)+y+(y/4)+(13*(m+1)/5)+d-1;
int result=0;

if(w>=0)
result=w%7;
else
result=(w+700)%7;

switch(result)
{
case 0: System.out.println("SUN"); break;
case 1: System.out.println("MON"); break;
case 2: System.out.println("TUE"); break;
case 3: System.out.println("WED"); break;
case 4: System.out.println("THU"); break;
case 5: System.out.println("FRI"); break;
case 6: System.out.println("SAT"); break;
}


}
}
======================== 2 =====================
  import java.io.*;
  class putout{
  public void putout(int f,int x,int y){
  int i;
  int a[]= new int[40];
  System.out.println(" 日 一 二 三 四 五 六 "+" "+f+"月");
  for (i=0;i<x;i++)
  {System.out.print(" "); }
  for(i=x;i<x+y;i++)
  a[i]=i-x+1;
  for(i=x;i<x+y;i++)
  {
  if (i%7==0)
  System.out.print("/n");
  if (a[i]<10)
  System.out.print(" "+a[i]);
  else
  System.out.print(" "+a[i]);
  }
  System.out.println("/n");
  }
  }
  class st{
  public static void main(String args[])throws IOException{
  putout p=new putout();
  int year,mouth,y=1,t,i;
  InputStreamReader ir;
  BufferedReader in;
  ir=new InputStreamReader(System.in);
  in=new BufferedReader(ir);
  System.out.println("请输入一个年份");
  String s=in.readLine();
  year=Integer.parseInt(s);
  if((year%4==0 && year%100!=0)||(year%400==0))
  mouth=1;
  else
  mouth=0;
  y=year;
  for(i=1;i<year;i++)
  {if((i%4==0 && i%100!=0)||(i%400==0))
  y++;}
  y=y%7;
  for(i=1;i<13;i++){
  switch(i){
  case 1: {p.putout(1,y,31);y=(y+31)%7;break;}
  case 2: {p.putout(2,y,28+mouth);y=(y+28+mouth)%7;break;}
  case 3: {p.putout(3,y,31);y=(y+31)%7;break;}
  case 4: {p.putout(4,y,30);y=(y+30)%7;break;}
  case 5: {p.putout(5,y,31);y=(y+31)%7;break;}
  case 6: {p.putout(6,y,30);y=(y+30)%7;break;}
  case 7: {p.putout(7,y,31);y=(y+31)%7;break;}
  case 8: {p.putout(8,y,31);y=(y+31)%7;break;}
  case 9: {p.putout(9,y,30);y=(y+30)%7;break;}
  case 10: {p.putout(10,y,31);y=(y+31)%7;break;}
  case 11: {p.putout(11,y,30);y=(y+30)%7;break;}
  case 12: {p.putout(12,y,31);y=(y+31)%7;break;}
   }
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值