Member 13677146 Ответов: 2

Как преобразовать for loop в while loop для вычисления температуры по Цельсию эквивалентной температуре по Фаренгейту java


Я пытаюсь распечатать две таблицы, которые вычисляют температуру по Цельсию, эквивалентную температуре по Фаренгейту. У меня есть одна таблица для цикла, но когда я пытаюсь поставить цикл while для своего кода, он просто распечатывает одну таблицу, а не две таблицы. Что я делаю не так?

Что я уже пробовал:

вот мой код:
public class TempLoops {
	
	public static void main(String args[]) {
		int fahrenheit = 0;
		
        System.out.println("Fahrenheit    Celsius");
		
        for ( fahrenheit = 0; fahrenheit <= 300; fahrenheit+= 20) {    
            
			System.out.printf("%5d        ",fahrenheit);
            double Celsius = (fahrenheit-32.0) * (5.0/9.0);  // formula for celsius to fahrenheit conversion
			
            System.out.printf("%1.1f", Celsius );
            System.out.println();
		}		
		while ( fahrenheit <= 300) {   
		  fahrenheit+= 20;
            System.out.println("Fahrenheit    Celsius");
			System.out.printf("%5d        ",fahrenheit);
            double Celsius = (fahrenheit-32.0) * (5.0/9.0);  // formula for celsius to fahrenheit conversion
			
            System.out.printf("%1.1f", Celsius );
            System.out.println();
		}
	}
}

2 Ответов

Рейтинг:
1

Patrice T

Обратите внимание на ценность fahrenheit в начале цикла while.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


CPallini

5.

Patrice T

Спасибо

Рейтинг:
0

David_Wimbley

Вероятная проблема заключается в том, что между вашим циклом for и циклом while yo u не сбрасывают значение fahrenheit, поэтому, когда он доходит до вашего взгляда while, ваша переменная fahrenheit, вероятно, равна 320 и потому, что она не <= 300 (ваше условие цикла while)...ваш цикл while никогда не запускается.

Между концом цикла for и началом цикла while сбросьте значение Фаренгейта до 0.

fahrenheit = 0;
while(fahrenheiht <= 300)
{


CPallini

5.