package com.date;
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比長(zhǎng)興網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式長(zhǎng)興網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋長(zhǎng)興地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
public class DateDome {
private int year=0;//年
private int month=0;//月
private int day=0;//日
public DateDome(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public DateDome(){
}
//年大于等于0
public boolean isYear(){
boolean suc=false;
if(year0)return suc;
else if(year=0)suc=true;
return suc;
}
//判斷月數(shù)1-12月
public boolean isMonth(){
boolean suc=false;
if(month0||month12)return false;
else suc=true;
return suc;
}
//判斷天數(shù)1-31號(hào)
public boolean isDay(){
boolean suc=false;
if(day=0||day31)return suc;
else suc=true;
return suc;
}
//是否為閏年
public boolean isRunNian(int year){
boolean suc=false;
if(year=0){
if(year%400==0||(year%4==0year%100!=0)){
suc=true;
}
}
return suc;
}
//判斷合法年月日
public boolean isInvaildate(int year,int month, int day){
boolean suc=false;
if(isYear()isMonth()isDay()){
switch(month){
case 1:
suc=true;
break;
case 2:
if(isRunNian(year)day=29){
suc=true;
}else if(day=28){
suc=true;
}
break;
case 3:
suc=true;
break;
case 4:
if(day=30)suc=true;
break;
case 5:
suc=true;
break;
case 6:
if(day=30)suc=true;
break;
case 7:
suc=true;
break;
case 8:
suc=true;
break;
case 9:
if(day=30)suc=true;
break;
case 10:
suc=true;
break;
case 11:
if(day=30)suc=true;
break;
case 12:
suc=true;
break;
}
}
return suc;
}
//根據(jù)日期得到天數(shù)
public int getDaysByDate(int year,int month,int day){
int days=0;
if(isInvaildate(year,month,day)){
for(int i=0;iyear;i++){
if(isRunNian(i)){
days+=366;
}else{
days+=365;
}
}
for(int i=1;imonth;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
days+=31;
}else if(i==4||i==6||i==9||i==11){
days+=30;
}else if(i==2){
if(isRunNian(year)){
days+=29;
}else{
days+=28;
}
}
}
days+=day-1;
return days;
}else{
System.out.println("處理有非法日期?。。?);
return -1;
}
}
//根據(jù)天數(shù)得到日期數(shù)int[]由,年、月、日組成的數(shù)組
public int[] getDateByDays(int days){
int das=0;//預(yù)計(jì)的天數(shù)
int y=0,m=1,d=1;//0年1月1號(hào)
int[] date=new int[3];
boolean suc=true;
int temp=0;
if(days0){
System.out.println("請(qǐng)輸入合法天數(shù)?。。?);
return new int[]{0,0,0};
}
while(suc){
if(isRunNian(y)){
temp=366;
}else{
temp=365;
}
das+=temp;
if(dasdays){
y++;
}else{
das-=temp;
break;
}
}
while(suc){
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
temp=31;
}else if(m==4||m==6||m==9||m==11){
temp=30;
}else if(m==2){
if(isRunNian(y)){
temp=29;
}else{
temp=28;
}
}
das+=temp;
if(dasdays){
m++;
}else{
das-=temp;
break;
}
}
d=days-das+1;
date[0]=y;
date[1]=m;
date[2]=d;
return date;
}
//得到多少天前或后合法日期
public int[] addORsubDay(int dd){
int days=getDaysByDate(year,month,day);
if(days=0){
days+=dd;
if(days0){
return getDateByDays(days);
}else{
System.out.println("處理日期不能小于0年1月1號(hào)");
return new int[]{0,0,0};//代表無(wú)效日期
}
}else{
System.out.println("處理日期不能小于0年1月1號(hào)");
return new int[]{0,0,0};//年,月,日
}
}
//得到兩個(gè)日期相距天數(shù)
public int TwoDate(int[] date1,int[] date2){
int d=-1;
if(isInvaildate(date1[0],date1[1],date1[2])isInvaildate(date2[0],date2[1],date2[2])){
int days1=getDaysByDate(date1[0],date1[1],date1[2]);
int days2=getDaysByDate(date2[0],date2[1],date2[2]);
d=days1-days2;
return d=0?d:-d;
}else
{
System.out.println("處理有非法日期?。。?);
return d;
}
}
}
我寫(xiě)了你提出的功能,你還可以擴(kuò)展其它功能。
代碼如下
/**
*?Author:?zhyx
*?Date:2017/11/30
*?Time:8:56
*/
public?abstract?class?Contailner?{
double?r;
abstract?double?volume();
}
/**
*?Author:?zhyx
*?Date:2017/11/30
*?Time:8:57
*/
public?class?Cube?extends?Contailner?{
public?Cube(double?r)?{
this.r=r;
}
@Override
double?volume()?{
return?r*r*r;
}
}
/**
*?Author:?zhyx
*?Date:2017/11/30
*?Time:9:01
*/
public?class?Sphere?extends?Contailner?{
public?Sphere(double?r)?{
this.r=r;
}
@Override
double?volume()?{
return?4/3*Math.PI*r*r*r;
}
}
/**
*?Author:?zhyx
*?Date:2017/11/30
*?Time:9:02
*/
public?class?Tiji?{
public?static?void?main(String[]?args)?{
Cube?cube=new?Cube(4);
System.out.println("立方體體積為:"+cube.volume());
Sphere?sphere=?new?Sphere(4);
System.out.println("球體體積為:"+sphere.volume());
}
}
第一個(gè)string就是定義一個(gè)string類的字符串啊,try那兒是一個(gè)錯(cuò)誤拋出,while()里面那個(gè)字符串為空,進(jìn)入循環(huán)啊,try下面應(yīng)該還有一個(gè)catch,你代碼沒(méi)截圖完整
一、作用:1、可以大大的提高開(kāi)發(fā)效率。代碼量非常大的項(xiàng)目,在某一行中需要在后續(xù)階段實(shí)現(xiàn)一個(gè)功能,如果不標(biāo)注下次再找的時(shí)候就非常困難了。2、在團(tuán)隊(duì)合作中,還可以告訴別人某處敏感代碼的狀態(tài)。
二、以下為常見(jiàn)的兩種注釋標(biāo)記:1、// TODO: 表示在此處將要實(shí)現(xiàn)的功能,提醒你在后續(xù)階段將會(huì)在此處添加代碼
?
2、// FIXME: 表示此處的代碼邏輯有出入,或者根本不能運(yùn)行,提醒你在后續(xù)階段將會(huì)修改此處代碼
?
3、// 在Eclipse中可以自定義標(biāo)記
例如: // XXX:表示此處的代碼雖然實(shí)現(xiàn)了功能,但是性能太低,提醒你需要在后續(xù)階段優(yōu)化;