Napisałam program który ma przeliczać PLN na USD i EUR ze stale przypisanymi wartościami danych walut. Program działa, ale chciałam się zapytać czy można to zrobić lepiej( lub w ogóle naprawić).
Wydaje mi się, że jest za dużo zmiennych, a eclipse podkreśla mi zmienne MoneyFromUser i MoneyFromUser2 na żółto i mówi, że wartość pola nie jest używana, a gdy je usuwam to pojawiają się błędy. W tytule tematu jest też mowa o rozbudowie, ale o tym napiszę później, bo najpierw chce się upewnić że tu wszystko dobrze zrobiłam.
Jeszcze te obliczenia w konstruktorze, nie wiem czy można tak robić, wstawiłam i działa, ale kto wie...
Program zawiera dwie klasy Converter.java i ConverterMain.java
package pl.wioletta.converter;
import java.util.Scanner;
public class ConverterMain {
public static void main(String[] args) {
Scanner scannerin = new Scanner(System.in);
System.out.println("Podaj 1 kwotę w PLN: ");
double MoneyFromUser = takeData(scannerin) ;
System.out.println("Podaj 2 kwotę w PLN: ");
double MoneyFromUser2 = takeData(scannerin) ;
Converter firstObject = new Converter(MoneyFromUser, MoneyFromUser2 );
System.out.println("1 kwota PLN wynosi: " + firstObject.getEURfromPLN() + " EUR, 2 kwota PLN wynosi: " + firstObject.getEURfromPLN2() + " EUR" );
System.out.println("1 kwota PLN wynosi: " + firstObject.getUSDfromPLN() + " USD, 2 kwota PLN wynosi: " + firstObject.getUSDfromPLN2() + " USD" );
}
public static double takeData(Scanner scannerin)
{
return scannerin.nextDouble();
}
}
package pl.wioletta.converter;
public class Converter {
private final double EUR = 4.37 ;
private final double USD = 3.93 ;
private double EURfromPLN ;
private double EURfromPLN2 ;
private double USDfromPLN ;
private double USDfromPLN2 ;
private double MoneyFromUser ;
private double MoneyFromUser2 ;
public Converter(double MoneyFromUser, double MoneyFromUser2)
{
this.MoneyFromUser=MoneyFromUser;
this.MoneyFromUser2=MoneyFromUser2;
EURfromPLN = MoneyFromUser * EUR;
EURfromPLN2 = MoneyFromUser2 * EUR;
USDfromPLN = MoneyFromUser * USD;
USDfromPLN2 = MoneyFromUser2 * USD;
}
public double getEURfromPLN() {
return EURfromPLN;
}
public double getEURfromPLN2() {
return EURfromPLN2;
}
public double getUSDfromPLN() {
return USDfromPLN;
}
public double getUSDfromPLN2() {
return USDfromPLN2;
}
}