对于此作业,我的老师要求我使用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);
}
}
}
答案 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++;
}