为了账号安全,请及时绑定邮箱和手机立即绑定

如何让for循环程序只循环20次?

如何让for循环程序只循环20次?

莫回无 2023-10-19 14:54:40
到目前为止我的计划:import java.util.Scanner;  public class Temperature {   public static void main(String[] args)   {      int count = 20;      double fahrenheit;      double celsius;      String input;      // Scanner object for keyboard input.      Scanner kb = new Scanner(System.in);      // Get the information.      System.out.print("Enter your starting temperature in Fahrenheit:  ");      fahrenheit = kb.nextDouble();      // Display the results in a table.      System.out.println("Fahrenheit   Celsius");      System.out.println("-----------------------");      for (fahrenheit = fahrenheit; fahrenheit <= count; fahrenheit += 5)      {      // Calculate      celsius = (fahrenheit - 32)*(5.0 / 9.0);      System.out.printf("%,.2f \t\t\t %,.2f\n", fahrenheit, celsius);      }   }}现在我需要它做的是生成一个包含从华氏度到摄氏度的 20 种温度转换的表格。如果用户输入 0,则输出的前 3 行示例如下:华氏度:0 摄氏度:-17.78华氏度:5 摄氏度:-15.00华氏度:10 摄氏度:-12.22ETC...问题是,如果输入超过 20,它就不会循环正确的次数。以下是用户输入 5 时会发生的情况的示例:输出:输入您的起始华氏温度:5华氏度 摄氏度5.00 -15.0010.00 -12.2215.00 -9.4420.00 -6.67然后就是输出结束的地方。有谁知道我怎样才能使程序显示 20 F 到 C 的等价物,无论用户输入什么?
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

你的for循环一团糟:for (fahrenheit = fahrenheit; fahrenheit <= count; fahrenheit += 5)它正在将温度与计数(fahrenheit <= count)进行比较。


如果你总是想要 20 步,那么:


for (int i = 0; i < count; i++) {

    ...

    fahrenheit  += 5;

}

会做的。


查看完整回答
反对 回复 2023-10-19
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

选项1,添加一个计数器并使用它。


for (int i = 0; i < count; i++, fahrenheit += 5)

{

    // Calculate

    celsius = (fahrenheit - 32)*(5.0 / 9.0);

    System.out.printf("%,.2f \t\t\t %,.2f\n", fahrenheit, celsius);

}

count选项 2,在循环时递减(并测试零)。


for (; count > 0; count--, fahrenheit += 5)

{

    // Calculate

    celsius = (fahrenheit - 32)*(5.0 / 9.0);

    System.out.printf("%,.2f \t\t\t %,.2f\n", fahrenheit, celsius);

}


查看完整回答
反对 回复 2023-10-19
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

您需要做的是保持一个index从 0 开始一直到 20 的单独变量。这意味着每次都会更改 2 个变量index和fahrenheit,并且 for 循环将如下所示:


int index = 0

for (fahrenheit = fahrenheit; index < count; fahrenheit += 5) {

    ...

    index++;

}


查看完整回答
反对 回复 2023-10-19
  • 3 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信