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

Код в Java

Влфдимир Щёкин Ученик (220), на голосовании 1 месяц назад
Помогите найти ошибки в коде
Дополнен 2 месяца назад
public class Practicum {
public static void main(String[] args) {
double rateUSD = 101.65;
double rateEUR = 122.80;
double rateCNY = 58.15;
System.out.println("Введите сумму рублей для конвертации:");
int roubles;
int command;
if (command.qeuals(1)) {
double usdRoubles = roubles / rateUSD;
if (usdRoubles < 0) {
System.out.println("Ошибка:некорректные значения.");
else if (usdRoubles > 0) {
System.out.println("Было введено " + roubles + ",в долларах это " + usdRoubles);
}
}
} else if (command == 2) {
double eurRoubles = roubles / rateEUR;
if (eurRoubles < 0) {
System.out.println("Ошибка:некорректные значения.");
else if (eurRoubles > 0) {
System.out.println("Было введено " + roubles + ",в евро это " + usdRoubles);
}
}

} else if (command == 3) {
double snyRoubles = roubles / rateSNY;
if (snyRoubles < 0) {
System.out.println("Ошибка:некорректные значения.");
else if (snyRoubles > 0) {
System.out.println("Было введено " + roubles + ",в юанях это " + snyRoubles);
}
}
} else {
System.out.println("Такой команды нет");
}
System.out.println("Работа с программой завершена.");
}
}
Дополнен 2 месяца назад
public class Practicum {
public static void main(String[] args) {
double rateUSD = 101.65;
double rateEUR = 122.80;
double rateCNY = 58.15;
System.out.println("Введите сумму рублей для конвертации:");
int roubles;
int command;
if (command == 1) {
double usdRoubles = roubles / rateUSD;
} else { if (usdRoubles < 0) {
System.out.println("Ошибка:некорректные значения.");
} else { if (usdRoubles > 0) {
System.out.println("Было введено " + roubles + ",в долларах это " + usdRoubles);
}
}
}


if (command == 2) {
double eurRoubles = roubles / rateEUR;
} else { if (eurRoubles < 0) {
System.out.println("Ошибка:некорректные значения.");
} else { if (eurRoubles > 0) {
System.out.println("Было введено " + roubles + ",в евро это " + usdRoubles);
}
}
}


if (command == 3) {
double snyRoubles = roubles / rateSNY;
} else { if (snyRoubles < 0) {
System.out.println("Ошибка:некорректные значения.");
} else { if (snyRoubles > 0) {
System.out.println("Было введено " + roubles + ",в юанях это " + snyRoubles);
}
}

else {
System.out.println("Такой команды нет");
}
}
System.out.println("Работа с программой завершена.");
}
}
Дополнен 2 месяца назад
В очередной раз исправил, но что то всё ещё не так)
Голосование за лучший ответ
Андрей Панарин Искусственный Интеллект (242520) 2 месяца назад
Как вы пишете условные операторы:
 if (...) {
...
else if (...) {
...
else {
...
}
Фигурных скобок открыто: 3, закрыто: 1.

Как надо писать условные операторы:
 if (...) { 
...
} else if (...) {
...
} else {
...
}
Фигурных скобок открыто: 3, закрыто: 3.
Каждый вариант действий заключен в свою пару фигурных скобок.
Влфдимир ЩёкинУченик (220) 2 месяца назад
А как же условие внутри условия?
А в плане закрытия скобок у меня все закрыты
Андрей Панарин Искусственный Интеллект (242520) Если после открытой скобки у вас еще не было if, то else после нее быть не может.
 if (...) { <-- здесь if идет за фигурной скобкой, снаружи
    ...
else { - недопустимо, здесь else идет внутри фигурных скобок, и у него внутри этих скобок нет соответствующего if
    ...
}
} 
Слово else может идти только после if на том же уровне вложенности, что и if:
 if (...) {  <-- if за фигурными скобками
    ... 
} else {  <-- else тоже на фигурными скобками и относится к if выше
    ...
} 
Оракул Оракул (61891) 2 месяца назад
11, 19, 28 строки - без else в начале
Влфдимир ЩёкинУченик (220) 2 месяца назад
Попробовал, но теперь выдаёт другие ошибки)

(./submission/Practicum.java:39: error: 'else' without 'if'
else if (usdRoubles > 0) {
Оракул Оракул (61891) Влфдимир Щёкин, 39 строки нет на скрине Жуткий бардак со скобками https://pastebin.com/Uhyu4mWn
Jurijus Zaksas Искусственный Интеллект (440568) 2 месяца назад
Ошибка в коде генетическом в данном случае.
Анон, если ты написал else if - это ошибка.
Во всех случаях, кроме некоторых оптимизаций быстродействия.
В данном случае мы имеем дело с линейным кодом, поэтому это именно ошибка и есть.
Просто не делай так и исчезнет 90% пространства для ошибок компиляции.
Sergio 2.1 Оракул (63880) 2 месяца назад
 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("Работа с программой завершена.");
}
}
Александр Искусственный Интеллект (299040) 2 месяца назад
учи хоть какой-то инглишь...
даже на твоей едва читаемой картинке видно что пишет о том как ты горбатого лепишь со скобками...
элементарных вещей выучить не можешь, и уже рвёшься какие-то "программы" писать...
Похожие вопросы