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:
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ă.
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