Как использовать while и loop? - PullRequest
0 голосов
/ 01 октября 2018

Для этого задания мой учитель попросил меня использовать цикл while, и программа должна рассчитать скорость ветра, основываясь на скорости и температуре ветра, введенных пользователем.Затем моя программа рассчитает и напечатает 15 эквивалентных температур ветряного охлаждения для скорости ветра с приращением на 1 милю в час, начиная с введенной скорости ветра.

Это ожидаемый выходной сигнал терминала, когда пользователь вводит 20 в качестве температуры и 5 для скорости ветра.

Temp is 20.0 Wind is 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,08 10 068 = 8 068 = 8,068 = 8,068 = 8,068 = 8,068 = 8,068 = 8,068 = 8,068 = 8,0751012 * температура равна 20,0, ветер равен 9,0, Windchill = 9,51125906241483
температура равна 20,0, ветер равен 10,0, Windchill = 8,854038235710775
температура равна 20,0, ветер равен 11,0;Температура равна 20,0. Ветер равен 13,0. Windchill = 7,168491016780937
Температура составляет 20,0. Ветер равен 14,0. Windchill = 6,679431097848575
Температура составляет 20,0.20.0 Ветер - 17.0 Windchill = 5.370299352288381
Temp = 20,0 Ветер - 18,0 Windchill = 4.977085976370098

Я пробовал так много раз, но продолжаю получать бесконечные циклы, и Windchill перестал вычислять.Это просто дает тот же ответ.Я могу только заставить скорость ветра продолжать увеличиваться на 1. Я хотел бы спросить, как я могу позволить программе зацикливаться только 15 раз, основываясь на числе, введенном пользователем, и как может начаться расчет охлаждения ветром в другом ответе.

Это то, над чем я работаю (T = temp, 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 Ответ

0 голосов
/ 01 октября 2018

Вы хотите зациклить 15 раз или на основе ввода пользователя?Если вы хотите выполнить цикл только 15 раз, вы можете попробовать:

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

Причина, по которой вы продолжаете получать бесконечный цикл, состоит в том, что вы устанавливаете условие while для V> 0, когда вы используете V ++, вы всегда получаете V>0, что правда, поэтому вы будете продолжать получать бесконечный цикл.

try:

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++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...