Informatică, întrebare adresată de sandacristescu, 8 ani în urmă

Sa se implementeze urmatoarele metode:

metoda “transformaInGradeCelsius” returneaza temperatura in grade Celsius echivalenta cu temperatura Fahrenheit folosind formula: C=5/9 * (F-32) ;

metoda “transformaInGradeFahrenheit“ returneaza temperatura in grade Fahrenheit echivalenta cu temperatura Celsius folosind formula: F=9/5 *C+32 ;

Folositi aceste metode pentru a scrie un program care primeste din linia de comanda doua valori reale ce reprezinta temperaturi Celsius, respectiv Fahrenheit si afiseaza temperatura echivalenta in celalalt sistem de temperaturi. (JAVA POO)

Răspunsuri la întrebare

Răspuns de VxF
5

Răspuns:

public class ConversieTemperatura

{

   public static float transformaInGradeCelsius(float gradeFahrenheit)

   {

       return 5f / 9 * (gradeFahrenheit - 32);

   }

   public static float transformaInGradeFahrenheit(float gradeCelsius)

   {

       return 9f / 5 * gradeCelsius + 32;

   }

   public static void main(String[] args)

   {

       if (args.length != 2) {

           System.err.println("EROARE: rulat obligatoriu cu 2 parametrii");

           System.exit(1);

       }

       try {

           System.out.format("%.2f °C = %.2f °F\n", Float.parseFloat(args[0]), ConversieTemperatura.transformaInGradeFahrenheit(Float.parseFloat(args[0])));

           System.out.format("%.2f °F = %.2f °C\n", Float.parseFloat(args[1]), ConversieTemperatura.transformaInGradeCelsius(Float.parseFloat(args[1])));

       } catch (NumberFormatException e) {

           System.err.println("EROARE: rulat obligatoriu cu parametrii reali");

           System.exit(1);

       }

   }

}

Explicație:

De observat sufixele „f” la formule, adăugate pentru a forţa împărțire reală în loc de împărțire întreagă.


ovdumi: imi da eroare la ...format din try (liniile 30 si 32)
ovdumi: System.out.format, (numarul liniilor de mai sus nu are relevanta)
VxF: Și mai exact ce zice eroarea aia? Ce versiune de Java folosești?
ovdumi: nu stiu ce versiune dar am vazut ceva 19.0.1.0, poate zice ceva
ovdumi: nu ma prind in programul tau cum introduci de la tastatura gradele dorite
ovdumi: cum arata output-ul?
ovdumi: banuiesc ca l-ai testat
ovdumi: recunosc ca sunt incepator
VxF: Exact cu s-a cerut: „primeste din linia de comanda”, adică parametrii:

bash-5.2$ javac -version
javac 1.8.0_352

bash-5.2$ javac ConversieTemperatura.java

bash-5.2$ java ConversieTemperatura
EROARE: rulat obligatoriu cu 2 parametrii

bash-5.2$ java ConversieTemperatura unu doi
EROARE: rulat obligatoriu cu parametrii reali

bash-5.2$ java ConversieTemperatura 3.14 3.14
3.14 °C = 37.65 °F
3.14 °F = -16.03 °C
Alte întrebări interesante