Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
2 / 2 / 0
Регистрация: 03.05.2017
Сообщений: 163

Цикл while, получить максимально допустимый период

06.10.2020, 23:52. Показов 4611. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такое вот задание
Даны переменные int amount - сумма по кредиту, double percent - годовой процент (0.05 для 5%), и int expectedLimit - лимит клиента по сумме возврата.

Создай переменную resultYears и напиши цикл while, чтобы получить максимально допустимый период, на который можно открыть кредит, не превысив ожидаемый лимит.

Результат выведи на экран в формате "Credit period is maximum X years!".

Мой код
Java
1
2
3
4
5
int resultYears = 0;
while((amount*percent) <= (expectedLimit - amount)){
  resultYears++;
}
 System.out.println("Credit period is maximum " + resultYears + " years!");
Помогите пожалуйста решить, я понимаю что написал бред но ничего умнее не придумал
заранее спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2020, 23:52
Ответы с готовыми решениями:

Максимально допустимый джиттер для UART
Какой максимально допустимый джиттер для UART? 3.4% - это существенно? А в два раза больше - 6.8%?

ADC максимально допустимый делитель напряжения ?
У меня используется батарейное питание. Для определения заряда батареи использовал делитель 200k+56k. Но это дает аж 13uA. Если...

Как узнать максимально допустимый объем оперативной памяти на моём ноутбуке
Хочу добавить оперативной памяти Operating System Майкрософт Windows 10 Домашняя для одного языка 64-bit CPU Intel Core i7...

7
5 / 3 / 2
Регистрация: 07.10.2020
Сообщений: 13
07.10.2020, 10:05
если я правильно понял условия и expectedLimit - сколько клиент может заплатить в год, то я бы сделал вот так
Java
1
2
3
4
5
6
7
int resultYears = 0;
while (amount > 0) {
    int creditBody = expectedLimit - (int) (amount * percent);
    amount -= creditBody;
    resultYears++;
}
System.out.println("Credit period is maximum " + resultYears + " years!");
Считаешь сколько за год набегает процентов на кредит, потом считаешь сколько может быть погашено тела кредита после уплаты процентов (переменная creditBody)
1
2 / 2 / 0
Регистрация: 03.05.2017
Сообщений: 163
07.10.2020, 15:04  [ТС]
Решения выглядит логично но проверку не прходит
org.junit.ComparisonFailure: The result should be "Credit period is maximum 4 years!" for amount = 2000, percent = 0.050000, and maxReturnAmount = 2500, but was "Credit period is maximum 1 years!".
expected:<...t period is maximum [4] years!> but was:<...t period is maximum [1] years!>
at org.junit.Assert.assertEquals(Assert.jav a:117)
at BankCreditTest.getYears_checkResult(Bank CreditTest.java:33)
0
5 / 3 / 2
Регистрация: 07.10.2020
Сообщений: 13
07.10.2020, 15:26
а можно увидеть оригинал задания или тесты остальные? такое чувство что чего-то не хватает
0
2 / 2 / 0
Регистрация: 03.05.2017
Сообщений: 163
07.10.2020, 16:13  [ТС]
Студент Сергей задумался о том, чтобы взять кредит и купить все курсы Mate academy вместе. Банк позволяет брать кредиты по упрощенной системе и выплачивать их в конце срока всей суммой.

Ознакомившись с условиями банка, Сергей узнал, что если брать в кредит 2000 долларов под 5 процентов годовых на пять лет, то через пять лет он должен отдать 2551 доллар. Но Сергей рассчитывал уложиться всего в 2500 долларов. Пересчитав снова, банкир сказал, что Сергей может взять кредит на 4 года, в таком случае он будет обязан уплатить всего 2430 долларов:

Первый год 2000 + 5% = 2100
Второй год 2100 + 5% = 2205
Третий год 2205 + 5% = 2315
Четвертый год 2315 + 5% = 2430
Даны переменные int amount - сумма по кредиту, double percent - годовой процент (0.05 для 5%), и int expectedLimit - лимит клиента по сумме возврата.

Создай переменную resultYears и напиши цикл while, чтобы получить максимально допустимый период, на который можно открыть кредит, не превысив ожидаемый лимит.

Результат выведи на экран в формате "Credit period is maximum X years!".

Добавлено через 4 минуты
TEST 1 PASSED
solution_checkVariableName

TEST 2 PASSED
solution_containsWhileLoop

TEST 3 PASSED
solution_containsBreak

TEST 4 FAILED
getYears_checkResult

Свернуть
org.junit.ComparisonFailure: The result should be "Credit period is maximum 4 years!" for amount = 2000, percent = 0.050000, and maxReturnAmount = 2500, but was "Credit period is maximum 1 years!".
expected:<...t period is maximum [4] years!> but was:<...t period is maximum [1] years!>
at org.junit.Assert.assertEquals(Assert.jav a:117)
at BankCreditTest.getYears_checkResult(Bank CreditTest.java:33)
TEST 5 PASSED
solution_containsFor

TEST 6 FAILED
getYears_checkResultDifferentValues

Свернуть
org.junit.ComparisonFailure: The result should be "Credit period is maximum 2 years!" for amount = 3500, percent = 0.100000, and maxReturnAmount = 4300, but was "Credit period is maximum 1 years!".
expected:<...t period is maximum [2] years!> but was:<...t period is maximum [1] years!>
at org.junit.Assert.assertEquals(Assert.jav a:117)
at BankCreditTest.getYears_checkResultDiffe rentValues(BankCreditTest.java:48)
TEST 7 PASSED
solution_containsIf

TEST 8 PASSED
solution_containsContinue
0
5 / 3 / 2
Регистрация: 07.10.2020
Сообщений: 13
07.10.2020, 16:24
Лучший ответ Сообщение было отмечено AAA999 как решение

Решение

попробуй вот так
Java
1
2
3
4
5
6
int resultYears = 0;
while (amount + amount * percent <= expectedLimit) {
    amount += amount * percent;
    resultYears++;
}
System.out.println("Credit period is maximum " + resultYears + " years!");
1
2 / 2 / 0
Регистрация: 03.05.2017
Сообщений: 163
07.10.2020, 16:28  [ТС]
Да, работает, спасибо большое
0
5 / 3 / 2
Регистрация: 07.10.2020
Сообщений: 13
07.10.2020, 16:33
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.10.2020, 16:33
Помогаю со студенческими работами здесь

Цикл: Получить сумму чистой прибыли за заданный период.
Создайте функцию calculateProfit, которая будет принимать параметры: amount, period, percent, и возвращать сумму чистой прибыли за этот...

Цикл: Определить, сколько простейших организмов будет через каждый период их деления. Цикл while.
Напишите пожалуйста код к этой задачке, неделю уже ломаю себе голову как ее решить. Одноклеточная амеба каждые 3 часа делится на 2...

Цикл с максимально возможным значением
Приветствую! Кто может помочь правильно составить цикл и массив? Суть такова: имеется некоторое число, например 0.8, имеется второе...

Получить из числа максимально возможное
1.дано число. получить из него максимально возможное. 2.дан массив. первую половину массива расположить по возрастанию, а вторую по...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru