对于这个作业,我的老师让我使用 while 循环,程序应该根据用户输入的风速和温度计算风寒。然后,我的程序将从输入的风速开始,以每小时 1 英里的速度递增,计算并打印 15 个风速的等效 Windchill 温度。这是当用户输入 20 作为温度和 5 作为风速时终端上的预期输出。温度是20.0风是4.0的Windchill = 14.21540906987616Temp是20.0风为5.0的Windchill = 12.981228533315587温度是20.0风6.0的Windchill = 11.939602066643864Temp是20.0风7.0的Windchill = 11.034900625509994Temp是20.0风8.0的Windchill = 10.232972275268978温度是20.0风是9.0的Windchill = 9.51125906241483Temp是20.0风为10.0的Windchill = 8.854038235710775Temp是20.0风11.0的Windchill = 8.249889600830752Temp是20.0风12.0的Windchill = 7.690242381822841温度是20.0风13.0的Windchill = 7.168491016780937Temp是20.0风是14.0的Windchill = 6.679431097848575温度是 20.0 Wind 是 15.0 Windchill = 6.218885266083873温度为 20.0 风为 16.0 Windchill = 5.783446866468811温度为 20.0 风为 17.0 Windchill = 5.370299352288381温度为 20.0 Windchill = 4.90786707我尝试了很多次,但我不断循环,风寒停止计算。它只是提供了相同的答案。我只能让风速一直增加1。 请问如何让程序根据用户输入的数字只循环15次,如何在不同的答案中开始计算风寒。这就是我正在研究的内容,(T = 温度,V = 风速,W = Windchill)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 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
您想循环 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++;
}
添加回答
举报
0/150
提交
取消