问答详情
源自:-

为什么定义While(true)


import java.util.Scanner;

public class Demo {


public static void main(String[] args) {

// TODO 自动生成的方法存根

while(true){

boolean b=false;

int sum1=0,days=0;

Scanner scanner=new Scanner(System.in);

System.out.println("请输入年份:");//提示信息

int year=scanner.nextInt();//输入年份

//判断年份

if(year==-1){

System.out.println("退出程序");

break;

}else if(year<=0){

System.out.println("输入错误");

break;

}

System.out.println("请输入月份:");//提示信息

int mouth=scanner.nextInt();//输入月份

//判断月份

if(mouth==-1){

System.out.println("退出程序");

break;

}else if(mouth<=0||mouth>12){

System.out.println("输入错误");

break;

}

System.out.println("请输入正确的日期:");//提示信息

int day=scanner.nextInt();//输入日期

//判断日期

if(day==-1){

System.out.println("退出程序");

break;

}else if(day<0||day>31){

System.out.println("输入错误");

break; 

}

//判断是否为闰年

if((year%4==0&&year%100!=0)||(year%400==0)){//判断是否为闰年

b=true;

}

//判断闰年的时候月份和小月

if((b&&mouth==2&&day>29)||((mouth==4||mouth==6||mouth==8||mouth==10)&&day>31)){

System.out.println("输入错误");

break;

}else if(mouth==2&&mouth>28){

System.out.println("输入错误");

break;

}

for(int i=1;i<mouth;i++){//计算天数

switch(i){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days=31;

break;

case 4:

case 6:

case 9:

case 11:

days=30;

break;

case 2:

if(b){

days=29;

}else{

days=28;

}

}

sum1+=days;

}

if(b){

System.out.println(year+"年"+mouth+"月"+day+"日"+"是闰年,这天是"+year+"年的第"+(sum1+day)+"天");

}else{

System.out.println(year+"年"+mouth+"月"+day+"日是"+year+"年的第"+(sum1+day)+"天");

}

}

}

提问者:qq_陌上花开_5 2015-05-19 22:38

个回答

  • Absolute_Duo
    2015-05-19 22:41:06
    已采纳

    while(true)不是什么东西的定义而是循环“while(循环条件)”只是这个循环条件一直都为真,相当于一直在进行循环