![](/img/trans.png)
[英]Java: StringIndexOutOfBoundsException when using .charAt() in for-loop
[英]Using for-loop to test day count in Java
首先,和我一起忍受–我只有大约一个月才学习Java。
在一个练习中,要求我(用测试单位)证明从某年(x)到某年(y),从12月31日到1月1日只有一天。 他们建议我应该使用for循环,使其在x和y年之间的所有年份中运行。
已经创建了一个名为daysTill的预定义方法。
到目前为止,我已经拿出了这段丑陋的代码,但是没有用:
public void testYearEnd()
{int i;
for(i = 1635; i <=2300; i++);
Date date1 = new Date(i, 31, 12);
Date date2 = new Date(i, 01, 01);
assertEquals(1, date1.daysTill(date2));
}
谁能指出我的代码在我身上失败的确切位置?
这里有两个问题:你流浪;
这将结束您的陈述,而无需任何身体,使其成为无操作者,并且在预期的身体周围缺少括号。 (没有;
,由于Date声明不是语句,因此不会编译。)
您还可以将i
的声明移到for语句中(您之前不能这样做,因为for语句由于;
提前结束,因此对于Date构造函数未定义i
)。
该代码应为
public void testYearEnd() {
for (int i = 1635; i <= 2300; i++) {
Date date1 = new Date(i, 31, 12);
Date date2 = new Date(i, 01, 01);
assertEquals(1, date1.daysTill(date2));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.