Как объединить две простые программы в одну - PullRequest
0 голосов
/ 23 февраля 2020

Как мне объединить две маленькие программы, которые я создал? Они преобразования Фаренгейта в Цельсий и наоборот. Когда я соединяю их вместе, у меня явно появляются двойные / повторяющиеся переменные. Не совсем уверен, как / что изменить.

Цель состоит в том, чтобы объединить две программы, чтобы он попросил пользователя выбрать одну из них (F или C), а затем попросить пользователя ввести целое число для конвертировать. Не уверен, что мне нужно создать их как два объекта моего класса? Или как направить выбор, возможно, используя Switch?

Ниже приведено одно преобразование, формула такая же, только обратная.

import java.util.Scanner;

public class FahrenheitToCelsius {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter a degree in Fahrenheit: ");
        double fahrenheit = input.nextDouble();


        double celsius =(5.0 / 9) * (fahrenheit - 32);
        System.out.println("Fahrenheit " + fahrenheit + " is " + celsius + " in Celsius") ;
    }   
}

1 Ответ

0 голосов
/ 23 февраля 2020

Я думаю, что вы правы, что мы можем упростить код с помощью одного оператора switch - или даже оператора if в этом случае.

Попробуйте, может быть, так:

public static void main(String[] args) {
    Scanner userInput = new Scanner(System.in);
    String convertFrom = userInput.nextLine();
    double C, F, convertedDegrees;
    if (convertFrom.equals("F")) {
        // Convert Fahrenheit to Celsius
    } else if (convertFrom.equals("C")) {
        // Convert Celsius to Fahrenheit
        convertedDegrees = userInput.nextDouble();
        F = (convertedDegrees * 1.8) + 32;
        System.out.println(F);
    } else {
        System.out.println("Invalid input. Please type 'C' or 'F' to indicate whether you wish to convert Celsius or Fahrenheit degrees.");
    }
}
...