package firstproject;
import java.util.Scanner;
public class Currency{
public static void main(String[] args) {
int rubles = 100;
double rateUSD = 1.35;
double rateEUR = 1.20;
double rateGBP = 1.02;
double rateJPY = 153.29;
// Interface
System.out.println("Welcome to the Currency Converter Program \n");
System.out.println("Используйте одну из перечисленных валют для конвертации: \n 1 - Rubles \n 2 - US dollars \n 3 - Euros \n 4 - British Pounds \n 5 - Japanese Yen \n");
System.out.println("Please choose the input currency");
Scanner in = new Scanner(System.in);
int choice = in.nextInt();
String inType;
switch(choice) {
case 1 -> inType = "Rubles >> " + rubles;
case 2 -> inType = "US Dollars >> " + rateUSD;
case 3 -> inType = "Euros >> " + rateEUR;
case 4 -> inType = "British Pounds >> " + rateGBP;
case 5 -> inType = "Japanese Yen >> " + rateJPY;
default -> {
System.out.println("Какая печаль, я пока не знаю такой валюты.\nПожалуйста, перезапустите программу и выберите валюту из списка :)");
return;
}
} System.out.println("Please choose the output currency");
Scanner scanner = new Scanner(System.in);
System.out.println("Сколько денег у вас осталось до зарплаты?");
double moneyBeforeSalary = scanner.nextDouble();
System.out.println("Сколько дней до зарплаты?");
int daysBeforeSalary = scanner.nextInt();
System.out.println("Введите команду. Доступные команды: convert и advice.");
String command = scanner.next();
if (command.equals("convert")) {
System.out.println("В какую валюту хотите конвертировать рубли? Доступные варианты: USD, EUR, JPY, GBP.");
String currency = scanner.next(); // считываю значения с помощью scanner
if (currency.equals("RUB")) {
System.out.println("Ваши сбережения в рублях: " + moneyBeforeSalary / rubles);
}
switch (currency) {
case "RUS" -> System.out.println("Ваши сбережения в рублях:" + rubles );
case "USD" -> System.out.println("Ваши сбережения в долларах: " + moneyBeforeSalary / rateUSD);
case "EUR" -> System.out.println("Ваши сбережения в евро: " + moneyBeforeSalary / rateEUR);
case "GBP" -> System.out.println("Ваши сбережения в долларах: " + moneyBeforeSalary / rateGBP);
case "JPY" -> System.out.println("Ваши сбережения в иенах: " + moneyBeforeSalary / rateJPY);
default -> System.out.println("Валюта не поддерживается.");
}
} else if (command.equals("advice")) {
if (moneyBeforeSalary < 3000) {
System.out.println("Сегодня лучше поесть дома. Экономьте, и вы дотянете до зарплаты!");
} else if (moneyBeforeSalary < 10000) {
if (daysBeforeSalary < 10) {
System.out.println("Окей, пора в Макдак!");
} else {
System.out.println("Сегодня лучше поесть дома. Экономьте, и вы дотянете до зарплаты!");
}
} else if (moneyBeforeSalary < 30000) {
if (daysBeforeSalary < 10) {
System.out.println("Неплохо! Прикупите долларов и зайдите поужинать в классное место. :)");
} else {
System.out.println("Окей, пора в Макдак!");
}
} else {
if (daysBeforeSalary < 10) {
System.out.println("Отлично! Заказывайте крабов!");
} else {
System.out.println("Неплохо! Прикупите долларов и зайдите поужинать в классное место. :)");
}
}
} else {
System.out.println("Извините, такой команды пока нет.");
}
}
}
I'm not sure about switch(choice), I think this is redundant here. I am missing the code to convert currencies correctly. I found examples of currency converters, but for some reason they called their variables of the char
type. I'm a beginner, and I didn't understand why assign a currency value to such a variable. I found something similar: char us_dollar_sym = 36;
But I did not understand what the logic of these variables is.
After all, a char
can store a symbol, not numbers... or not?