有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我怎么可能使用更少的变量呢?

我很快制作了一个小程序,可以将华氏温度转换为摄氏温度,将摄氏温度转换为华氏温度,但当我尝试使用一个变量时,它并不能完成所有步骤。我能理解为什么,但我不知道如何防止它只做最后一个操作,因为我希望它按顺序完成所有操作

据我所知,如果我对所有操作都使用相同的变量,比如-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) 个答案

  1. # 1 楼答案

    您可以组合以下三行:

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

    进入

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

    对于celciusToFahrenheit方法,也可以做同样的事情。 只要记住运算顺序,在一行上执行多个数学运算就不会有问题

  2. # 2 楼答案

    你可以用这样的例子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);
        }
    }