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

到目前为止我的计划:



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.22


ETC...


问题是,如果输入超过 20,它就不会循环正确的次数。


以下是用户输入 5 时会发生的情况的示例:


输出:


输入您的起始华氏温度:5


华氏度 摄氏度


5.00 -15.00


10.00 -12.22


15.00 -9.44


20.00 -6.67


然后就是输出结束的地方。


有谁知道我怎样才能使程序显示 20 F 到 C 的等价物,无论用户输入什么?


莫回无
浏览 100回答 3
3回答

慕尼黑8549860

你的for循环一团糟:for (fahrenheit = fahrenheit; fahrenheit <= count; fahrenheit += 5)它正在将温度与计数(fahrenheit <= count)进行比较。如果你总是想要 20 步,那么:for (int i = 0; i < count; i++) {&nbsp; &nbsp; ...&nbsp; &nbsp; fahrenheit&nbsp; += 5;}会做的。

开心每一天1111

选项1,添加一个计数器并使用它。for (int i = 0; i < count; i++, fahrenheit += 5){&nbsp; &nbsp; // Calculate&nbsp; &nbsp; celsius = (fahrenheit - 32)*(5.0 / 9.0);&nbsp; &nbsp; System.out.printf("%,.2f \t\t\t %,.2f\n", fahrenheit, celsius);}count选项 2,在循环时递减(并测试零)。for (; count > 0; count--, fahrenheit += 5){&nbsp; &nbsp; // Calculate&nbsp; &nbsp; celsius = (fahrenheit - 32)*(5.0 / 9.0);&nbsp; &nbsp; System.out.printf("%,.2f \t\t\t %,.2f\n", fahrenheit, celsius);}

红糖糍粑

您需要做的是保持一个index从 0 开始一直到 20 的单独变量。这意味着每次都会更改 2 个变量index和fahrenheit,并且 for 循环将如下所示:int index = 0for (fahrenheit = fahrenheit; index < count; fahrenheit += 5) {&nbsp; &nbsp; ...&nbsp; &nbsp; index++;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java