Как я мог использовать меньше переменных? - PullRequest
0 голосов
/ 11 февраля 2019

Я быстро создал небольшую программу, которая конвертирует Фаренгейт в Цельсий и Цельсий в Фаренгейт, но когда я пытаюсь использовать одну переменную, она не выполняет все шаги.Я могу понять, почему, но я не могу понять, как я могу помешать ему выполнять только последнюю операцию, потому что я хочу, чтобы он выполнял все операции по порядку.

Насколько мне известно, если я использую ту же переменнуюдля всех операций, таких как -32, * 5 и / 9, он будет выполнять только последнюю, потому что я использовал =, чтобы присвоить это значение, но я не уверен, является ли это причиной или нет, любая помощьбудет признателен, спасибо.

public class TempConversion{
   //FahrenheitSteps
   private int Fahrenheit;
   private int FahrenheitA;
   private int FahrenheitB;
   private int FahrenheitC;
   //CelciusSteps
   private int Celcius;
   private int CelciusA;
   private int CelciusB;
   private int CelciusC;
   //Constructor
   public TempConversion(){
    Fahrenheit = 0;
    Celcius = 0;
    }
    //Convert Fahrenheit to celcius
    public void FahrenheitToCelcius(int Fahren){
    CelciusA = Fahren - 32;
    CelciusB = CelciusA * 5;
    CelciusC = CelciusB / 9;

    System.out.println(CelciusC + " Is the celcius equivalent");
    } 
    //Convert Celcius to fahrenheit
    public void CelciusToFahrenheit(int Celc){
    FahrenheitA = Celc * 9;
    FahrenheitB = FahrenheitA / 5;
    FahrenheitC = FahrenheitB + 32;

    System.out.println(FahrenheitC + " Is the fahrenheit equivalent");
}

}

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вы можете объединить следующие три строки:

    CelciusA = Fahren - 32;
    CelciusB = CelciusA * 5;
    CelciusC = CelciusB / 9;

в

Celcius = (Fahren-32) * 5 / 9;

То же самое можно сделать для вашего метода celciusToFahrenheit.Не должно быть проблем с выполнением нескольких математических операций в одной строке, если вы помните порядок операций.

0 голосов
/ 11 февраля 2019

Вы можете использовать пример, подобный этому https://www.programmingsimplified.com/java/source-code/java-program-to-convert-fahrenheit-to-celsius

И заменить Scanner своим значением.

import java.util.*;

class FahrenheitToCelsius {
    public static void main(String[] args) {
        float temperature;
        Scanner in = new Scanner(System.in);
        System.out.println("Enter temperature in Fahrenheit");
        temperature = in.nextInt();
        temperature = ((temperature - 32)*5)/9;
        System.out.println("temperature in Celsius = " + temperature);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...