вызов функции для выполнения другой задачи - PullRequest
0 голосов
/ 07 ноября 2019

я вызываю функцию, чтобы помочь отработать второй расчет, но он соответствует, но не возвращает правильный ответ

надоело несколько разных вещей, но ломает коды, так что скорее всего совершенно неправильно 9. Этот вопрос включает в себя написание двух функций,а. Проценты по кредиту в настоящее время составляют 2,4% (0,024). Если вы берете кредит в размере 9000 фунтов стерлингов в день, вы будете платить 9000 * 0,024 (216 фунтов стерлингов) за год. Начните с написания функции с именем CalcuInterest, которая принимает в качестве значения с плавающей точкой loanAmount (может быть любым числом, не только 9000), а второй аргумент интереса (также может быть любой фракцией), который представляет собой процентную ставку по кредиту. Он должен вернуть число с плавающей точкой, представляющее собой Проценты (£ 216 в приведенном выше примере). б. Когда работает CalcuInterest, напишите функцию под названием HW2I. (I = заглавная i). Для этого требуется 2 аргумента с плавающей запятой. Первоначальная сумма кредита (float) и годы (int), которые представляют собой количество лет, в течение которых кредит будет действовать (скажем, 35). Каждый год начисляются проценты (через вызов функции calcInterest). Проценты затем добавляются к сумме кредита. Это значение (кредит + проценты) является новой суммой кредита. Напишите функцию HW2I. Не забудьте проверить его самостоятельно, чтобы убедиться, что он работает правильно. Вот псевдокод.

To HW2I ( loan, intreastRate , years )
    Repeat with year = 1 to years 
       adjustedLoan = loan + calculateInterest( loan , intreastRate )
       loan = adjustedLoan
    end repeat 
 return loan 



public float calculateInterest(float loanAmount, float interestRate) {
    float intrest;
    intrest = loanAmount * interestRate;
    return intrest;
}

public float HW2I(float loan, int years) {
    for (int i = 0; i <= years; i = i++) {
        loan = loan + calculateInterest(9000, 0.24);
    }
    return (loan);
}

1 Ответ

0 голосов
/ 10 ноября 2019

Я думаю, мы идем в один и тот же университет, потому что у меня точно такой же вопрос, поэтому вот ответ:

public float calculateInterest(float loanAmount, float interestRate) {
    float interest = (loanAmount * interestRate);
    {
        return interest;
    }
}

public float HW2I(float loanAmount, float interestRate, int years) {
    for (int i = 0; i < years; i++) {
        float newLoanAmount = loanAmount + calculateInterest(loanAmount, interestRate);
        loanAmount = newLoanAmount;
    }
    return loanAmount;
}

Удачи!

Для объяснения:

Первый метод требует, чтобы мы рассчитали проценты , что делается путем умножения loanAmount и интереса вместе. После этого мы возвращаем проценты .

Для второй функции псевдокод показывает, что нам нужно 3 аргумента: float loanAmount , float InterestRate и int лет ,Он также говорит «Повторите с год = 1 до года», означая, что нам нужно использовать итерацию, поэтому мы делаем для (int i = 0; i <лет; i ++ </em> часть. Если мы оглянемся на вопроснам нужен newLoanAmount , который является первым loanAmount + вызов первого метода, который является calcInterest (loanAmount, InterestRate) . Теперь loanAmount становится newLoanAmount , своего рода заменой значения loanAmount ранее. Поскольку значение изменилось, нам необходимо вернуть loanAmount .

Я надеюсь, что это поможет и принесет извинения, если это не очень хорошее объяснение, я начал изучать Java 2 месяца назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...