Больше чем один вход Java - PullRequest
0 голосов
/ 10 июня 2011

Я новичок на этом форуме и на Java.Я с трудом пытаюсь найти способ попросить пользователя ввести более одного кредита для сравнения, начиная с шага D.Мне нужно иметь возможность попросить пользователя указать другую процентную ставку и количество лет для суммы, введенной на шаге А. Поэтому, если они введут 10, мне нужно будет 10 раз запросить у них процентную ставку и годы и вывести еев формате таблицы с использованием вкладок.Буду признателен за любую оказанную помощь.Заранее спасибо.

Редактировать: Большое спасибо за вашу помощь!Я обновил код.

    //A. Enter the Number Of Loans to compare
    String numberOfLoansString = JOptionPane.showInputDialog("Enter the amount of loans to compare:"); 
    //Convert numberOfLoansString to int
    int numberOfLoans = Integer.parseInt(numberOfLoansString);

    //B. Enter the Amount/Selling Price of Home
    String loanAmountString = JOptionPane.showInputDialog("Enter the loan amount:");
    //Convert loanAmountString to double
    double loanAmount = Double.parseDouble(loanAmountString);

    //C. Enter the Down Payment on the Home
    String downPaymentString = JOptionPane.showInputDialog("Enter the down payment on the Home:");
    double downPayment = Double.parseDouble(downPaymentString);


    //D. Ask the following for as many number of loans they wish to compare
    //D1 Get the interest rate
    double[] anualInterestRatesArray = new double[numberOfLoans];
    double[] monthlyInterestRateArray = new double[numberOfLoans];
    int[] numberOfYearsArray = new int[numberOfLoans];
    double[] monthlyPaymentArray = new double[numberOfLoans];
    double[] totalPaymentArray = new double[numberOfLoans];

    for (int i=0; i < numberOfLoans; i++)
    {
        String annualInterestRateString = JOptionPane.showInputDialog("Enter the interest rate:");
        double annualInterestRate = Double.parseDouble(annualInterestRateString);
        anualInterestRatesArray[i] = (annualInterestRate);

        //Obtain monthly interest rate
        double monthlyInterestRate = annualInterestRate / 1200;
        monthlyInterestRateArray[i] = (monthlyInterestRate);

        //D2 Get the number of years
        String numberOfYearsString = JOptionPane.showInputDialog("Enter the number of years:");
        int numberOfYears = Integer.parseInt(numberOfYearsString);
        numberOfYearsArray[i] = (numberOfYears);

        //Calculate monthly payment
        double monthlyPayment = loanAmount * monthlyInterestRate / (1 - 1 / Math.pow(1 + monthlyInterestRate, numberOfYears * 12));
        //Format to keep monthlyPayment two digits after the decimal point
        monthlyPayment = (int)(monthlyPayment * 100) / 100.0;
        //Store monthlyPayment values in an array
        monthlyPaymentArray[i] = (monthlyPayment);

        //Calculate total Payment
        double totalPayment = monthlyPaymentArray[i] * numberOfYears * 12;
        //Format to keep totalPayment two digits after the decimal point
        totalPayment = (int)(totalPayment * 100) / 100.0;
        totalPaymentArray[i] = (totalPayment);
    }

Ответы [ 4 ]

2 голосов
/ 10 июня 2011

Вам необходимо выполнить всю повторяющуюся логику обработки внутри цикла, такого как цикл for( ... ).Используйте массив для хранения разных значений количества займов.

1 голос
/ 10 июня 2011

Используйте для циклов для этого.

PS: Вы можете использовать и другие циклы [while, do-while].

0 голосов
/ 10 июня 2011

Вам, вероятно, нужно использовать массивы и циклы. Используйте массивы для хранения всех введенных значений и цикл для получения значений.

   double[] anualInterestRates = new double[numberOfLoans];
   double[] monthlyInterestRates = new double[numberOfLoans];
   int[] numberOfyears = new int[numberOfLoans];

Затем вы можете зациклить и запросить для каждого значения кредита:

   for(int i= 0; i < numberOfLoans; i++){
        //get the anual interest rate
        anualInterestRates[i] = the anual interets rate gotten
        //etc
   }

Теперь у вас есть 3 массива значений. Вы можете использовать второй цикл для расчета выходных данных и отображения.

0 голосов
/ 10 июня 2011

Пример использования для цикла

int numberOfLoans = Integer.parseInt(numberOfLoansString); 

 //section of code which shouldnt be repeated here outside the loop.

for( int i = 0; i < numberOfLoans ; i++ )
{
      //Write Step D here  , because you want it to be repeated
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...