| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:万年历
只看楼主 加入收藏
liyuanab
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-8-2
收藏
 问题点数:0 回复次数:0 
万年历
程序代码:
import java.util.Scanner;
public class Panduan1{
public static void main(String[] args){
   Scanner input=new Scanner(System.in);
   String  shifou;
   int nian,yue,yuann,xinq;
   int zong=0,nianz=0,count=0,tian=0,yuez=0; 
  
   do{
        zong=0,nianz=0,count=0,tian=0;
         yuez=0;                    //进行下一次循环时注意给变量清零!
                        
   System.out.println("************************欢迎使用万年历************************\n\n\n");
   System.out.println("请选择年份:\n\n");
   nian=input.nextInt();
   System.out.println("请选择月份:\n\n");
   yue=input.nextInt();
if(nian%4==0&&nian%100!=0||nian%400==0){
        
  System.out.println(nian+"\t\t闰年");  
}else{
       
   System.out.println(nian+"\t\t平年");
}
    switch(yue){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: 
    tian=31;
    System.out.println(yue+"\t\t共"+tian+"天");
    break;
    case 2:
   if(nian%4==0&&nian%100!=0||nian%400==0){
    tian=29;
  System.out.println(yue+"\t\t闰年"+tian+"天"); 
}else{
  tian=28;
System.out.println(yue+"\t\t平年"+tian+"天");
}
    break;
    case 4:
    case 6:
    case 9:
    case 11:
    tian=30;
   System.out.println(yue+"\t\t共"+tian+"天");
    break;
    default:
    System.out.println("您的月份输入有错!请重新输入。");
     yue=input.nextInt();                
    break;
}



//计算年天


for(yuann=1900;yuann<nian;yuann++){
if(yuann%4==0&&yuann%100!=0||yuann%400==0){
   nianz=nianz+366;
}else{
nianz=nianz+365;
}
}
//计算月天
for(int yu=1;yu<yue;yu++){
if(yu==1||yu==3||yu==5||yu==7||yu==8||yu==10||yu==12){
  yuez=yuez+31;
}else if(yu==2){
   if(nian%4==0&&nian%100!=0||nian%400==0){
  yuez=yuez+29;
}else{
  yuez=yuez+28;
}
}else if(yu==4||yu==6||yu==9||yu==11){
   yuez=yuez+30;
}else{
  break;
}
}

//总差天
  
zong=yuez+nianz;
System.out.println("距离1900年的总天数是:\t"+zong);

//月份第一天星期:

xinq=1+zong%7;

 
System.out.println("星期日\t"+"星期一\t"+"星期二\t"+"星期三\t"+"星期四\t"+"星期五\t"+"星期六\t");

//显示月份表

  switch(xinq){
  case 0:
   while(count<tian){
    count++;
   System.out.print(count+"\t");
   if(count%7==0){
   System.out.println();
}
}
  break;
   case 1:
   case 2:
   case 3:
   case 4:
   case 5:
   case 6:
   for(int f=1;f<=xinq;f++){
   System.out.print("\t");
}
   while(count<tian){
    count++;
   System.out.print(count+"\t");
   if(count+xinq==7){
   System.out.println();
}else if((count%7==7-xinq)){
   System.out.println();
}
}
break;
default:
System.out.println("您的算法有错!");
break;
}


   System.out.println("是否继续查询y/n:");
   shifou=input.next();
   if(shifou.equals("y")){
    continue;
}if(shifou.equals("n")){
    break;
}else{
    System.out.println("您的月份输入有错!请重新输入。");
     shifou=input.next();
}
  }while(shifou.equals("y")); 
System.out.println("程序结束!");
}
}




[free]      这是我自己的作品,可以查看1900以后的年月或星期。并判断是闰年与平年,还可以计算至1900的天数。
    希望各位朋友发表一些宝贵的意见?
共同来学习与提升我的作品的功能。
   最后感谢各位好友能抽出宝贵的时间来赐教。
[/free]
搜索更多相关主题的帖子: 万年历 
2008-09-06 20:30
快速回复:万年历
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024016 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved