Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу JAVA

Арсений Мальцев Ученик (95), открыт 3 часа назад
Итак, вам нужно усложнить приложение для финансов. Если раньше программа переводила имеющуюся переменную в доллары, то теперь логика будет следующая:
Вводится сумма в рублях.
Вводится команда, которая определяет, в какую валюту конвертировать рубли — в доллары, евро или юани.
Сумма в рублях переводится в выбранную валюту.
Проверяется полученный результат. Если он меньше нуля, выводится сообщение «Ошибка: некорректные значения.».
Если ошибки нет, выводится текст «Было введено [количество рублей], в [название валюты] это [сумма в валюте]». Например, «Было введено 5000.0, в долларах это 61.050061050061046». После запятой при делении может быть много цифр — это особенности деления и отображения результата в Java, не пугайтесь.
Если введена неизвестная команда, должен выводиться результат: «Такой команды нет.».
Если команда введена правильно, выводится результат конвертации.
В любом случае в конце выводится сообщение: «Работа с программой завершена.».


Вот мой код:
import java.util.Scanner;

public class Practicum {
public static void main(String[] args) {
double rateUSD = 75.5;
double rateEUR = 88.0;
double rateCNY = 11.5;

Scanner scanner = new Scanner( System.in );

System.out.println("Введите сумму рублей для конвертации:");
double roubles = NumberReader.getDouble();

System.out.println("Введите номер валюты, в какую перевести рубли:");
System.out.println("1 – доллары;");
System.out.println("2 – евро;");
System.out.println("3 – юани;");

int command = NumberReader.getInteger();
double result = 0;
String currency = "";


if (command == 1) {
result = roubles / rateUSD;
currency = "доллары";
} else if (command == 2) {
result = roubles / rateEUR;
currency = "евро";
} else if (command == 3) {
result = roubles / rateCNY;
currency = "юани";
} else {
System.out.println("Ошибка: такой команды нет.");
System.out.println("Работа с программой завершена.");
return;
}


if (result < 0) {
System.out.println("Ошибка: некорректные значения.");
} else {
System.out.printf("Было введено %.2f, в %s это %.14f\n", roubles, currency, result);
}

System.out.println("Работа с программой завершена.");
}
}


class NumberReader {
public static double getDouble() {
Scanner scanner = new Scanner( System.in );
return scanner.nextDouble();
}

public static int getInteger() {
Scanner scanner = new Scanner( System.in );
return scanner.nextInt();
}
}
Что тут не так? Вписав этот код в intelij не показал ошибок.
0 ответов
Похожие вопросы