JAVA实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、类的定义和使用
定义一个满足如下要求的 Date 类:
a. 用下面的格式输出日期:日/月/年
b. 可运行在日期上加一天操作
c. 设置日期
用该类编写一个显示当前日期的程序。
import java.io.*;
class Mydate
{
int day;
int month;
int year;
void setdate(int d,int m,int y)//设置日期
{
day=d;month=m;year=y;
}
void addday()//加一天的操作
{
if(month==12&&day==31)
{
year++;month=1;day=1;return;
}//年底进入下一年
if(Quan.symble==1&&month==2&&day==29)
{
month=3;day=1;return;
}//2月29号得闰年进入3月
if(Quan.symble==0&&month==2&&day==28)
{
month=3;day=1;return;
}//2月28号得非闰年进入3月
switch(month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
{ if(day==31)
{ month=month+1;day=1;}
else
day=day+1;break;
}
default:{ if(day==30)
{ month=month+1;day=1;}
else
day=day+1;break;
}
}
}
void outdate()//输出日期
{
System.out.println(day+"/"+month+"/"+year);
}
public static void main( String args[]) throws java.io.IOException//主函数
{
Mydate date=new Mydate();
String s;
int d,y,m;
System.out.println("请输入当前日期");
System.out.println("年:");
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
s=keyin.readLine();
y=Integer.parseInt(s);
L1:
for(;;)
{
System.out.println("月:");
s=keyin.readLine();
m=Integer.parseInt(s);
if(m<1||m>12)
{
System.out.println("月份无效,请重新输入:");continue L1;
}
else break L1;
}
L2:
for(;;)
{
System.out.println("日:");
s=keyin.readLine();
d=Integer.parseInt(s);
switch(m)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
{ if(d<1||d>31)
{
System.out.println("日期无效,请重新输入:");continue L2;
}
else break L2;
}
default:{ if(m!=2&&(d<1||d>30)||(m==2&&(d<1||d>29))||(m==2&&(d<1||d>28)))
{
System.out.println("日期无效,请重新输入:");continue L2;
}
else break L2;
}
}
}
date.setdate(d,m,y);
System.out.println("显示当前日期:");
date.outdate();
L:
for(;;)
{
System.in.read();//暂停作用
char t='0';
System.out.println("如果加一天请输入1,否则输入0:");
System.in.skip(2);
t=(char)System.in.read();
if(t=='1')
{
date.addday();
System.out.println("加一天操作后的日期为:");
date.outdate();
continue L;
}
else
if(t=='0') break L;
}
}
}
实验结果: