如何使用while和loop?

时间:2018-10-01 08:06:50

标签: java while-loop

对于此作业,我的老师要求我使用while循环,该程序应根据用户输入的风速和温度来计算风速。然后,我的程序将从输入的风速开始,以每小时1英里的速度递增并计算和打印15个等效的风速温度。

这是当用户输入20作为温度和5作为风速时在终端上的预期输出。

  

温度为20.0风为4.0 Windchill = 14.21540906987616
  温度为20.0风为5.0 Windchill = 12.981228533315587
  温度是20.0风是6.0 Windchill = 11.939602066643864
  温度为20.0风为7.0 Windchill = 11.034900625509994
  温度为20.0风为8.0 Windchill = 10.232972275268978
  温度为20.0风为9.0 Windchill = 9.51125906241483
  温度是20.0风是10.0 Windchill = 8.854038235710775
  温度为20.0风为11.0 Windchill = 8.249889600830752
  温度是20.0风是12.0 Windchill = 7.690242381822841
  温度为20.0风为13.0 Windchill = 7.168491016780937
  温度为20.0风为14.0 Windchill = 6.679431097848575
  温度是20.0风是15.0 Windchill = 6.218885266083873
  温度为20.0风为16.0 Windchill = 5.783446866468811
  温度为20.0风为17.0 Windchill = 5.370299352288381
  温度为20.0风为18.0 Windchill = 4.977085976370098

我尝试了很多次,但是我不断出现无休止的循环,并且Windchill停止了计算。它只是提供了相同的答案。我只能使风速保持增加1。 我想问一下如何根据用户输入的数字让程序仅循环15次,以及如何根据不同的答案开始计算风速。

这就是我正在研究的(T =温度,V =风速,W =风冷)

public class windchill3
{
    public static void main(String[] args) 
    {
        double W;
        double T;
        double V;

        T = Double.valueOf(args[0]);
        V = Double.valueOf(args[1]);
        W = 0.6215 * T - 35.75 * Math.pow(V, 0.16) + 0.4275 * T * Math.pow(V, 0.16) + 35.74;

        if (V < 0) {
            System.out.println("Error");
        }

        while(V>0) {
            T = Double.valueOf(args[0]);
            V = Double.valueOf(args[1]);
            W = 0.6215 * T - 35.75 * Math.pow(V, 0.16) + 0.4275 * T * Math.pow(V, 0.16) + 35.74;

            V++;

            System.out.println("The > Temperature is : " + T + " | The windspeed is: " + V + " | The windchill is: " + W);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您要循环15次还是根据用户的输入?如果您只想循环15次,则可以尝试:

int i = 0;
while(i < 15) {
//enter your code here
}

持续循环不断的原因是因为您为V> 0设置了while条件,当您使用V ++时,总是得到V> 0,这是正确的,因此您将不断循环不断。

尝试:

while(i < 15) {
    W = 0.6215 * T - 35.75 * Math.pow(V, 0.16) + 0.4275 * T * Math.pow(V, 
        0.16) + 35.74;

    System.out.println("The > Temperature is : " + T + " | The windspeed is: 
    " + V + " | The windchill is: " + W);
    v++;
    i++;
}