3 回答
TA贡献1820条经验 获得超9个赞
int sum = 0;
for (int i = minLim ; i <= maxLim ; i++) {
sum += i;
if (i == maxLim)
System.out.print(i);
else
System.out.print(i + " + ");
}
System.out.print("= "+sum+" ");
}
TA贡献1810条经验 获得超4个赞
您可以添加一个if来检查您何时到达最后一个号码。像这样的事情:
for ( int i = minLim; i <= maxLim; i++) {
sum += i;
if (i + 1 <= maxLim)
System.out.print(i + " + ");
else
System.out.print(i + " ");
}
TA贡献1854条经验 获得超8个赞
您已经看到了一些解决方案,它们采用了在最后一个加数之后不打印a的方法。 +
但是你可以很容易地采取相反的观点:在每个加数之前打印一个+ ,除了第一个:
int sum = 0;
for ( int i = minLim; i <= maxLim; i++) {
sum += i;
if (i > minLim)
System.out.print(" + ");
System.out.print(i);
}
System.out.print("= "+sum+" ");
或者,如果您不喜欢在 loop内测试循环的开始条件或结束条件的想法,您可以使用boolean变量作为一次性标志而不是测试i:
int sum = 0;
boolean firstTime = true;
for ( int i = minLim; i <= maxLim; i++) {
sum += i;
if (!firstTime)
System.out.print(" + ");
firstTime = false;
System.out.print(i);
}
System.out.print("= "+sum+" ");
都是不错的选择,随便挑...
添加回答
举报