if (...) {
...
else if (...) {
...
else {
...
}
Фигурных скобок открыто: 3, закрыто: 1. if (...) {
...
} else if (...) {
...
} else {
...
}
Фигурных скобок открыто: 3, закрыто: 3. if (...) { <-- здесь if идет за фигурной скобкой, снаружи
...
else { - недопустимо, здесь else идет внутри фигурных скобок, и у него внутри этих скобок нет соответствующего if
...
}
}
Слово else может идти только после if на том же уровне вложенности, что и if: if (...) { <-- if за фигурными скобками
...
} else { <-- else тоже на фигурными скобками и относится к if выше
...
}
import java.util.Scanner;
public class Practicum {
public static void main(String[] args) {
double rateUSD = 101.65;
double rateEUR = 122.80;
double rateCNY = 58.15;
Scanner scanner = new Scanner(System.in);
System.out.println("Введите сумму рублей для конвертации:");
int roubles = scanner.nextInt();
System.out.println("Выберите валюту (1 - USD, 2 - EUR, 3 - CNY):");
int command = scanner.nextInt();
if (command == 1) {
double usdRoubles = roubles / rateUSD;
if (usdRoubles < 0) {
System.out.println("Ошибка: некорректные значения.");
} else {
System.out.println("Было введено " + roubles + ", в долларах это " + usdRoubles);
}
} else if (command == 2) {
double eurRoubles = roubles / rateEUR;
if (eurRoubles < 0) {
System.out.println("Ошибка: некорректные значения.");
} else {
System.out.println("Было введено " + roubles + ", в евро это " + eurRoubles);
}
} else if (command == 3) {
double cnyRoubles = roubles / rateCNY;
if (cnyRoubles < 0) {
System.out.println("Ошибка: некорректные значения.");
} else {
System.out.println("Было введено " + roubles + ", в юанях это " + cnyRoubles);
}
} else {
System.out.println("Такой команды нет");
}
System.out.println("Работа с программой завершена.");
}
}