簡體   English   中英

我怎么可能使用較少的變量?

[英]How could I possibly use less variables?

我很快制作了一個小程序,將華氏溫度轉換為攝氏溫度,並將攝氏溫度轉換為華氏溫度,但是當我嘗試使用一個變量時,它並不能完成所有步驟。 我能理解為什么,但是我無法弄清楚如何阻止它僅執行最后一個操作,因為我希望它按順序執行所有操作。

據我所知,如果我對所有操作(例如-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");
}

}

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

您可以組合以下三行:

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

進入

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

您的celciusToFahrenheit方法可以完成相同的操作。 只要記住操作的順序,在一行上執行多個數學運算就不會有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM