如果这看起来是一个简单的问题,我深表歉意,但我有一个问题正在尝试解决,但我还没有完全弄清楚如何正确显示结果。所以基本上它要求接受用户对行驶一定距离的汽车的输入。所以我使用扫描仪对象来获取时间(以小时为单位)以及速度(mps)。所以要获得距离,您只需将这 2 个值相乘即可。但是我的问题出在显示上,我使用了一个 for 循环来显示用户每小时行驶了多少距离(从 1 开始 - 直到达到用户输入的时间)for 循环如下所示:
// Calculate and display distance traveled
distance = speed * time;
System.out.println("Hour Distance Traveled");
System.out.println("--------------------------");
for (time =1; time <= distance/speed; time++)
{
System.out.println(time + "\t" + distance);
}
所以我很明显被困在如何以递增的形式显示距离,比如如何显示时间,我不确定如何去做,更重要的是,如果 for 循环是适合使用的循环这个案例。我不是要求为我解决问题,但我将不胜感激任何关于如何解决它或我做错了什么的建议或解释。
最佳答案
在循环的每次迭代中,您希望将时间(在当前迭代中)乘以速度,而不是使用最终计算出的距离。
所以:
System.out.println("" + time + "\t" + ( time * speed ) );
应该适合你。
编辑 详细说明以回答评论
您执行相同的任务两次。计算结果时一次,跟踪时一次。您可以将两者连接起来,这样可以显示计算出的进度。当然,如果你不需要打印任何东西,你可以像刚才那样做乘法……
/* time and speed received from user. */
/* initialize distance */
distance = 0;
for (int i = 1; i <= time; i++)
{
/* increment distance in each iteration */
distance += speed;
/* print as you progress */
System.out.println(i + "\t" + distance);
}
关于java - 循环和显示困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473243/