我怎么可能使用较少的变量?

时间:2019-02-11 20:03:03

标签: java math

我很快制作了一个小程序,将华氏温度转换为摄氏温度,并将摄氏温度转换为华氏温度,但是当我尝试使用一个变量时,它并不能完成所有步骤。我能理解为什么,但是我无法弄清楚如何阻止它仅执行最后一个操作,因为我希望它按顺序执行所有操作。

据我所知,如果我对所有操作(例如-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 :(得分:1)

您可以使用像这样的示例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);
    }
}

答案 1 :(得分:1)

您可以组合以下三行:

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

进入

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

您的celciusToFahrenheit方法可以完成相同的操作。 只要记住操作的顺序,在一行上执行多个数学运算就不会有问题。