package com.zf.s3;
import java.io.*;
public class TextContro2
{
static int year,monthDay,weekDay; //定义静态变量,以便其他类调用
public static boolean isLeapYear(int y)//判断是否为闰年
{
return((y%4==0&&y%100 !=0)||(y%400==0));
}
public static int firstDay(int y) //计算机改年的第一天是星期几
{
long n=y*365;
for(int i=0;i<y;i++)
if(isLeapYear(i)) //判断是否为闰年
n+=1;
return(int)n%7;
}
public static void printWeek() //打印表头
{
System.out.println("=========================================");
System.out.println("日 一 二 三 四 五 六");
}
public static int getMonthDay(int m) //获取每个月的天数
{
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if(isLeapYear(year))
return 29;
else
return 28;
default:
return 0;
}
}
public static void printMonth() //按不同条件打印月
{
for(int m=1;m<=12;m++)//循环月份
{
System.out.println(m+"月");
printWeek();
for(int j = 1;j<=weekDay;j++)//按每个月的第一天是星期几来打印相应的空格
{
System.out.println(" ");
}
int monthDay=getMonthDay(m); //获取每个月的天数
for(int d=1;d<=monthDay;d++)
{
if(d<10) //下4行对输出格式化
System.out.print(d+" ");
else
System.out.print(d+" ");
weekDay=(weekDay+1)%7; //每打印一天后反映第二天是星期几
if(weekDay==0) //如果是星期天则换行
System.out.println();
}
System.out.println('\n');
}
}
public static void main(String[] args) throws IOException //程序入口
{
System.out.print("请输入一个年份:");
InputStreamReader ir; //接受控制台的输入
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
String s=in.readLine();
year=Integer.parseInt(s);
weekDay=firstDay(year); //计算该年的第一天是星期几
System.out.println("\n "+year+"年 ");
printMonth();
}
}
为什么用eclipse可以运行 用cmd就不行了呢???
import java.io.*;
public class TextContro2
{
static int year,monthDay,weekDay; //定义静态变量,以便其他类调用
public static boolean isLeapYear(int y)//判断是否为闰年
{
return((y%4==0&&y%100 !=0)||(y%400==0));
}
public static int firstDay(int y) //计算机改年的第一天是星期几
{
long n=y*365;
for(int i=0;i<y;i++)
if(isLeapYear(i)) //判断是否为闰年
n+=1;
return(int)n%7;
}
public static void printWeek() //打印表头
{
System.out.println("=========================================");
System.out.println("日 一 二 三 四 五 六");
}
public static int getMonthDay(int m) //获取每个月的天数
{
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if(isLeapYear(year))
return 29;
else
return 28;
default:
return 0;
}
}
public static void printMonth() //按不同条件打印月
{
for(int m=1;m<=12;m++)//循环月份
{
System.out.println(m+"月");
printWeek();
for(int j = 1;j<=weekDay;j++)//按每个月的第一天是星期几来打印相应的空格
{
System.out.println(" ");
}
int monthDay=getMonthDay(m); //获取每个月的天数
for(int d=1;d<=monthDay;d++)
{
if(d<10) //下4行对输出格式化
System.out.print(d+" ");
else
System.out.print(d+" ");
weekDay=(weekDay+1)%7; //每打印一天后反映第二天是星期几
if(weekDay==0) //如果是星期天则换行
System.out.println();
}
System.out.println('\n');
}
}
public static void main(String[] args) throws IOException //程序入口
{
System.out.print("请输入一个年份:");
InputStreamReader ir; //接受控制台的输入
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
String s=in.readLine();
year=Integer.parseInt(s);
weekDay=firstDay(year); //计算该年的第一天是星期几
System.out.println("\n "+year+"年 ");
printMonth();
}
}
为什么用eclipse可以运行 用cmd就不行了呢???
解决方案 »
- java 卡片布局管理器的一点小问题
- 简单问题:jsp 调用自己写的类,出现了一个错误,求助!!!
- 求一正则表达式 还请多多指教
- 想做一个Panel,在Frame上能用鼠标修改大小,应该怎么做好?
- 大家一定要帮我啊,我的问题真的很简单~~
- 急求散分
- 关于串口通讯中的线程同步问题。贴出代码,运行正常,但个别时候读IC卡只能读一半数据。
- socket跟线程的流程问题,谁跟我接下来一下,就70分了
- help!-----如何用java编写屏幕截取程序,就好象其他的截图工具那样!
- 怎样用JAVA 写 SERVICE (请高手提示)?
- Java输出语句中的+i+和+i啥意思
- 线程池的问题啊~~~~~~~~不知道有没有人知道啊!同时祝大家节日快乐啊。
先在你当前目录下编译TextContro2.java文件 即javac TextContro2.java
然后把生成的class文件拷贝到 com\zf\s3目录下
再执行 java com.zf.s3.TextContro2就行了