我不确定这是否真的有效,所以我只想询问并确认,如果这是显示数字的正确方法,我是否会得到输出,哪个不同的出生日期。
这个程序有点笨拙。
int day = 0;
int month = 00;
int year = 1979;
while(day<33 && month<14 && year<2005 && year>1978)
{
if(day==32)
{
day = 0;
}
if(month==13)
{
month = 00;
}
if(year==2004)
{
year = 1979;
}
String dob = new String(day+""+month+""+year);
System.out.println(dob);
if(dob=="2611983")
{
System.out.println("My birthday");
break;
}
day++;
month++;
year++;
}
答案 0 :(得分:1)
运行时会发生什么? 一些预测:它不会做你所期望的,因为你在同一个循环运行中增加日,月和年。 它也会永远循环,因为你在循环中重置了日,月和年。 经过很多循环之后,它可能会碰到你的生日遇到的星座,但不会像想象的那样。 让它运行并尝试了解会发生什么。
答案 1 :(得分:0)
这不能正常工作,因为你正在同时增加日,月和年(即你没有检查所有的日子)而是尝试这样做:
int day = 1;
int month = 1;
int year = 1979;
bool done=false;
while(!done)
{
if(year==2004)
{
year = 1979;
}
while (month<13 && !done)
{
while (day<32 && !done)
{
String dob = new String(day+""+month+""+year);
System.out.println(dob);
if(dob.equals("2611983"))
{
System.out.println("My birthday");
done=true;
}
day++;
}
day=1;
month++;
}
month=1;
year++;
}