如何创建一个循环来计算使用Java行驶的距离?

时间:2018-09-19 18:22:29

标签: java

我正在尝试创建一个包含以下说明的循环。一个计算行进距离的循环一次输出结果一行 i。必须声明并初始化适当的变量。速度变量应初始化为75。距离变量应初始化为零。 ii。循环控制变量应称为天。 day变​​量从1开始,一直到20。 这是循环体:

1.day必须转换为小时并存储在变量中。

2。必须计算出行进的距离。您可以使用以下公式:距离=时间*速度。

3。距离必须增加1

4。速度必须增加1

5。必须为循环的每次迭代打印日期,小时,速度和距离。

我尝试了几种方法,但无法获得与图片相同的结果。 https://i.stack.imgur.com/m1eqV.png

这是我目前的代码

public static void calc(){
  System.out.println("Day \tHours \tSpeed \t Miles");

  for (int i = 1; i <= 20; i++){
     System.out.println(i);
     }
  for (int t = 24; t <= 480; t++){
     System.out.println("\t\t"+ t);
     }
  }

结果是:

    Day     Hours   Speed    Miles
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20

2 个答案:

答案 0 :(得分:1)

在您的图片中,输出打印为每行有多个数字。但是,在您的代码中,第二个循环在第一个循环之后运行 ,因此所有输出将在第一个循环的下面打印。您需要在同一循环中打印所有输出,如下所示。我只向您展示了如何进行白天和黑夜,剩下的事情我会留给您找出,这应该是微不足道的:

for (int i = 1; i <= 20; i++) { // day
    System.out.print(i + "\t");
    System.out.print(i * 24 + "\t"); // hours
    // etc.
    System.out.println(); // newline
  }

答案 1 :(得分:-1)

我创建了以下代码:

int speed = 75;
int distance = 0;
//initialize variables

System.out.print("Day\tHours\tSpeed\tMiles\n");
//print header

for (int day = 1; day <= 20; day++){
//run loop untill we pass day 20

    distance += speed * 24;
    //add speed*hoursInADay (=distance traveled that day) to distance 

    System.out.print(day + "\t" + day*24 + "\t" + speed + "\t" + distance + "\n");
    //print: day    hours   speed   distance

    speed++;
    //increment speed with 1
}

它有效,但是在解决方案中,您给我们提供了从第4天到第5天从5544到488的行驶距离跳跃的信息吗?