В настоящее время я работаю над циклом while, который должен получать следующую информацию из суммы пользовательского кредита, годового процента и ежемесячного платежа. Он должен сравнивать ежемесячный процент с ежемесячным платежом, и, если процент за первый месяц превышает или равен назначенному платежу, открывается диалоговое окно с просьбой увеличить сумму до тех пор, пока ежемесячный платеж не превысит процент.
Похоже, что в некоторых случаях он работает нормально (если я наберу 1000 для ссуды, 12% и любой платеж ниже 121, программа запросит более крупный платеж). Но если я ввожу сумму кредита и ежемесячный платеж, близкие друг к другу (сумма кредита 500, ежемесячный платеж 400), я получаю диалоговое окно с сообщением об ошибке, в котором говорится, что я не ввел достаточно большую сумму. Ха!
Вот мой код, если вы можете посмотреть. Спасибо!
package program6;
import javax.swing.JOptionPane;
public class LoanAmount2 {
public static void main(String[] args) {
String loanAmountString = JOptionPane.showInputDialog(null, "Enter the amount for your loan.");
double loanAmount = Double.parseDouble(loanAmountString);
String annualInterestString = JOptionPane.showInputDialog(null, "Enter your annual interest rate.");
double annualInterestRate = Double.parseDouble(annualInterestString);
annualInterestRate = 1 + (annualInterestRate / 100);
String monthlyPaymentString = JOptionPane.showInputDialog(null, "Enter the amount for your monthly payment.");
double monthlyPayment = Double.parseDouble(monthlyPaymentString);
double monthlyInterestRate = 1 + (annualInterestRate / 12);
double monthlyInterest = loanAmount * monthlyInterestRate;
while (monthlyInterest >= monthlyPayment) {
monthlyPaymentString = JOptionPane.showInputDialog(null, "Your payment only covers the interest on your loan. Please enter a larger amount for your monthly payment.");
monthlyPayment = Double.parseDouble(monthlyPaymentString);
break;
}
}
}