Top.Mail.Ru
Ответы

Java практикум яндекса

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
 public class Practicum { 
    public static void main(String[] args) { 
        // Курсы валют 
        double exchangeRateUSD = 94.8; 
        double exchangeRateEUR = 103.8; 
        double exchangeRateCNY = 13.1; 
 
        // Процентные ставки 
        double interestRateRUB = 7; 
        double interestRateUSD = 1; 
        double interestRateEUR = 0.8; 
        double interestRateCNY = 1.5; 
 
        // Вывод меню 
        System.out.println("Введите номер валюты:"); 
        System.out.println("1 – рубли;"); 
        System.out.println("2 – доллары;"); 
        System.out.println("3 – евро;"); 
        System.out.println("4 – юани."); 
 
       int currency = NumberReader.getInteger(); 
        
        double exchangeRate = 1; 
        
        double interestRate; 
                 
        String currencySymbol; 
        String currencySymbol1 = "RUB";  
        String currencySymbol2 = "USD"; 
        String currencySymbol3 = "EUR"; 
        String currencySymbol4 = "CNY"; 
           
        if (currency == 1) { // если валюта – рубль, 
            interestRate = interestRateRUB; // устанавливаем соответствующую ставку, 
            currencySymbol = currencySymbol1; //установите код валюты, 
        } else if (currency == 2) { // если валюта – доллар, 
            interestRate = interestRateUSD;// устанавливаем курс обмена, ставку и код валюты 
            currencySymbol = currencySymbol2; 
            exchangeRate = exchangeRateUSD; 
        } else if (currency == 3) {// добавьте условия для евро и юаней 
            interestRate = interestRateEUR; 
            currencySymbol = currencySymbol3; 
            exchangeRate = exchangeRateEUR; 
        } else if (currency == 4) { 
            interestRate = interestRateCNY; 
            currencySymbol = currencySymbol4; 
            exchangeRate = exchangeRateCNY; 
        } else { 
            System.out.println("Ошибка: выбрана некорректная валюта. Валюта по умолчанию — рубли."); 
            /* обновите переменные  
               interestRate и currencySymbol 
               для валюты по умолчанию – рублей */ 
     
           currencySymbol = currencySymbol1; 
             interestRate = interestRateRUB; 
       } 
 
        System.out.println("Введите начальную сумму в выбранной валюте:"); 
        double amount = NumberReader.getDouble(); 
        System.out.println("Введите количество лет для расчёта:"); 
        int years = NumberReader.getInteger(); 
        
        for (int i = 1; i <= years; i++) { 
            amount = amount + amount * (interestRate / 100); 
 
            // добавьте условие, при котором каждые три года сумма также увеличивается на 1% 
            if (i % 3 == 0) { 
                amount = amount + amount * (1 / 100);// формула для изменения на 1% 
            } 
        } 
 
        System.out.println("К окончанию срока сумма составит: " + amount + " " + currencySymbol); 
 
        // если валюта – не рубли 
        if (currency != 1) {  
            // сохраните в переменную roubles результат перевода в рубли 
            double roubles = amount / exchangeRate; 
            // выведите на экран сообщение с результатом: "В рублях это будет: ... руб." 
             System.out.println("В рублях это будет: " + roubles + " руб."); 
        } 
 
        // выведите на экран сообщение о завершении работы программы: "Работа с программой завершена" 
        System.out.println("Работа с программой завершена."); 
    } 
} 
 
Дополнен

Вопрос снят, ошибок тут нет

Дополнен

Все таки нашел ошибки: добавил currecsy = 1;

} else {
System.out.println("Ошибка: выбрана некорректная валюта. Валюта по умолчанию — рубли.");
/* обновите переменные
interestRate и currencySymbol
для валюты по умолчанию – рублей */
currecsy = 1;
currencySymbol = currencySymbol1;
interestRate = interestRateRUB;
}

вторая: исправил деление на умножение

if (currency != 1) {
// сохраните в переменную roubles результат перевода в рубли
double roubles;
roubles = amount * exchangeRate;
// выведите на экран сообщение с результатом: "В рублях это будет: ... руб."
System.out.println("В рублях это будет: " + roubles + " руб.");
}

теперь все работает....УРА!!

По дате
По рейтингу
Аватар пользователя
Ученик
10мес

При проверке выдает:
Число слов в правильном выводе меньше, чем в вашем

Число слов в правильном выводе меньше, чем в вашем

Число слов в правильном выводе меньше, чем в вашем

Число слов в правильном выводе меньше, чем в вашем

Число слов в правильном выводе меньше, чем в вашем

Число слов в правильном выводе меньше, чем в вашем

Ваша задача прошла 0 / 6 проверок

Возможные проблемы:
- Ошибка при вводе нулевой начальной суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе дробной суммы
- Ошибка при вводе дробной суммы

Аватар пользователя
Оракул

если у тебя вопросы по тому что тебе какой-то чат жпт сочинил, то ты ему эти вопросы и задай..
вот это можно было объявить как глобальные константы.

1234
 String currencySymbol1 = "RUB";   
String currencySymbol2 = "USD";  
String currencySymbol3 = "EUR";  
String currencySymbol4 = "CNY";  

вместо уймы if... else if ты мог использовать switch...case

чё за NumberReader?

для каждой операции программу нужно запускать заново?

Аватар пользователя
Ученик

switch...case пока не изучали
NumberReader в условиях предложили

Аватар пользователя
Ученик

ошибки

Число слов в правильном выводе меньше, чем в вашем
Ожидалось начальную. Выводится номер
Ожидалось сумму. Выводится валюты
Ожидалось в. Выводится 1
Ожидалось выбранной. Выводится -
Ожидалось валюте. Выводится рубли

Число слов в правильном выводе меньше, чем в вашем
Ожидалось начальную. Выводится номер
Ожидалось сумму. Выводится валюты
Ожидалось в. Выводится 1
Ожидалось выбранной. Выводится -
Ожидалось валюте. Выводится рубли

Ваша задача прошла 0 / 6 проверок

Возможные проблемы:
- Ошибка при вводе нулевой начальной суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе дробной суммы
- Ошибка при вводе дробной суммы

Аватар пользователя
Ученик

Спасибо разобрался, в коде ошибки нет
"если у тебя вопросы по тому что тебе какой-то чат жпт сочинил, то ты ему эти вопросы и задай."
так и есть, еще раз спасибо

Аватар пользователя
Мастер

выгглядит просто

Аватар пользователя
Ученик

ошибки

Число слов в правильном выводе меньше, чем в вашем
Ожидалось начальную. Выводится номер
Ожидалось сумму. Выводится валюты
Ожидалось в. Выводится 1
Ожидалось выбранной. Выводится -
Ожидалось валюте. Выводится рубли

Число слов в правильном выводе меньше, чем в вашем
Ожидалось начальную. Выводится номер
Ожидалось сумму. Выводится валюты
Ожидалось в. Выводится 1
Ожидалось выбранной. Выводится -
Ожидалось валюте. Выводится рубли

Ваша задача прошла 0 / 6 проверок

Возможные проблемы:
- Ошибка при вводе нулевой начальной суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе дробной суммы
- Ошибка при вводе дробной суммы

Аватар пользователя
Знаток

Так а что не так

Аватар пользователя
Ученик

условие и ошибки не влезли) ща

Аватар пользователя
Ученик

ошибки

Число слов в правильном выводе меньше, чем в вашем
Ожидалось начальную. Выводится номер
Ожидалось сумму. Выводится валюты
Ожидалось в. Выводится 1
Ожидалось выбранной. Выводится -
Ожидалось валюте. Выводится рубли

Число слов в правильном выводе меньше, чем в вашем
Ожидалось начальную. Выводится номер
Ожидалось сумму. Выводится валюты
Ожидалось в. Выводится 1
Ожидалось выбранной. Выводится -
Ожидалось валюте. Выводится рубли

Ваша задача прошла 0 / 6 проверок

Возможные проблемы:
- Ошибка при вводе нулевой начальной суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе целой суммы
- Ошибка при вводе дробной суммы
- Ошибка при вводе дробной суммы

Аватар пользователя
Ученик

задача
— написать код, который рассчитает итоговую сумму вклада через заданное количество лет. При этом программа должна учитывать начисление процентов. Для каждой валюты — свой сложный процент. Помимо известной процентной ставки, различающейся для каждой валюты, есть дополнительное правило: каждые три года банк начисляет бонус — 1% от существующей суммы.
Как будет работать новая функциональность.
Если пользователь вводит некорректный номер валюты, программа автоматически устанавливает валюту по умолчанию (рубли) и производит расчёты на основе этой валюты.
Через каждые три года начисляется бонус — сумма увеличивается на 1%.
Если выбрана валюта, отличная от рублей, программа также переводит итоговую сумму в рубли.

Аватар пользователя
Ученик

Спасибо разобрался, в коде ошибки нет



Видео по теме