java - 多个 Java 输入

标签 java swing input

我是这个论坛和 Java 的新手。我很难找到一种方法来要求用户输入多个贷款以从步骤 D 向下进行比较。我需要能够向用户询问他们在步骤 A 中输入的金额的不同利率和年数。因此,如果他们输入 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);
    }

最佳答案

您需要在循环内执行所有重复的处理逻辑,例如 for( ... )环形。使用数组来存储不同的贷款数量值。

关于java - 多个 Java 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310057/

相关文章:

java - 如何转换富:calender date to mysql Date

java - JFrame 上的背景图像

java - 为什么 Java Jbutton 没有正确调用 JFileChooser?

c - 从标准输入读取变量输入

c - 为什么我的代码多次打印整个字符串而不是 1 次?

html - 如何创建跨两行的输入字段 (HTML)

java - 如何将连接传递给 Mybatis

Java ProcessBuilder 无法在 Java 中运行 Python 脚本

java - 如何使用 key=someBean 的 beanID 、value=someBean 创建映射属性

java - AffineTransform 翻译不同的图形对象