【发布时间】:2017-03-29 02:27:28
【问题描述】:
// 在 Eclipse 中创建一个完整的程序,它会询问用户您希望循环多长时间。它将在 for 循环中询问双精度值的速率和整数值的时间。它将计算您在费率和时间中输入的每个时间的距离。//
如果我只想输入一次,我当前的输出给了我正确的答案,因为它只需要运行一次程序。每当我输入超过 1 时,它就会开始表现得很奇怪,这是我能解释它的最佳方式,因为我不知道它有什么问题。
这是一个随机输出
How many times would you like to calculate the distance.
12
Enter rate
2
Enter time
13
The distance is 26.0
Enter rate
12
Enter time
12
The distance is 144.0
How many times would you like to calculate the distance.
1
Enter rate
12
Enter time
1
The distance is 12.0
//我的实际代码
import java.util.Scanner;
public class NTC {
public static void main(String[] args){
Scanner kb=new Scanner(System.in);
int loop = 10;
double rate=0;
int time=0;
int count;
double distance = rate*time;
for (count = 0; count <= loop; count++) {
System.out.println("How many times would you like to calculate the distance.");
loop = kb.nextInt();
for(rate=0; rate <loop;rate++)
{
System.out.println("Enter rate");
rate = kb.nextDouble();
for(time=0; time <loop;time++)
{
System.out.println("Enter time");
time = kb.nextInt();
System.out.println("The distance is "+rate*time);
}
【问题讨论】:
-
It starts acting weird... 这是您开始调试的地方。打印变量或使用实际的调试器。您是否去看医生并说“我不知道医生 - 我只是觉得很奇怪。给我一些药物来解决它。谢谢”。 -
听起来问题只是要求
rate * time = distance。为什么还有 2 个从0 < loop迭代的其他循环,其中loop设置为 10? -
你不必居高临下。这是我人生中第一次编写这样的代码,不过感谢您的指导。 @鬼猫
-
问题是你的误解,假设这个网站是为新手准备的。但不是……不过你也说得对,我的话太刺耳了。
-
公式不是被搞砸的部分,而是它之前的一切。我假设我必须一遍又一遍地做for循环,而我没有这样做。我也试图改变一些小东西,看看它是否会比以前的代码更好。我上传的代码是我决定在这里发布@Wilson 之前想出的最好的工作代码