import java.util.Scanner;
public class CurrencyConverter {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
double roubles = NumberReader.getDouble();
String currency = "USD";
double result = convertCurrency(roubles);
if (result < 0) {
System.out.println("Ошибка: некорректные значения.");
} else {
System.out.printf("Было введено %.2f, в %s это %.14f\n", roubles, currency, result);
}
System.out.println("Работа с программой завершена.");
scanner.close();
}
private static double convertCurrency(double roubles) {
return roubles * 0.013;
}
}
class NumberReader {
public static double getDouble() {
while (true) {
try {
System.out.print("Введите число (double): ");
return CurrencyConverter.scanner.nextDouble();
} catch (Exception e) {
System.out.println("Ошибка: введите корректное число.");
CurrencyConverter.scanner.next();
}
}
}
public static int getInteger() {
while (true) {
try {
System.out.print("Введите целое число (int): ");
return CurrencyConverter.scanner.nextInt();
} catch (Exception e) {
System.out.println("Ошибка: введите корректное целое число.");
CurrencyConverter.scanner.next();
}
}
}
}
Сгенерировал ИИ код не тестил! import java.util.Scanner;
class Practicum {
public static void main(String[] args) {
final double rateUSD = 75.5, rateEUR = 88.0, rateCNY = 11.5;
int command;
double result, roubles;
String currency;
Scanner scanner = new Scanner(System.in);
System.out.print("Введите сумму в рублях: ");
roubles = scanner.nextDouble();
System.out.println("""
1 – доллары
2 – евро
3 – юани""");
System.out.print("Конвертировать в: ");
command = scanner.nextInt();
switch (command) {
case 1:
result = roubles / rateUSD;
currency = "долларах";
break;
case 2:
result = roubles / rateEUR;
currency = "евро";
break;
case 3:
result = roubles / rateCNY;
currency = "юанях";
break;
default:
System.out.println("Ошибка: такой команды нет.");
System.out.println("Работа с программой завершена.");
return;
}
if (result < 0) {
System.out.println("Ошибка: некорректные значения.");
} else {
System.out.printf("Было введено %.2f, в %s это %f\n", roubles, currency, result);
}
System.out.println("Работа с программой завершена.");
}
}
Вводится сумма в рублях.
Вводится команда, которая определяет, в какую валюту конвертировать рубли — в доллары, евро или юани.
Сумма в рублях переводится в выбранную валюту.
Проверяется полученный результат. Если он меньше нуля, выводится сообщение «Ошибка: некорректные значения.».
Если ошибки нет, выводится текст «Было введено [количество рублей], в [название валюты] это [сумма в валюте]». Например, «Было введено 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 не показал ошибок.