-1

私は、comp sci クラスの Java ローン支払い計算機であるプログラムに取り組んでいます。プログラムの要件は次のとおりです。

  1. ユーザーに融資額、年利、月数を尋ねる
  2. 月利を計算して返すメソッドを呼び出す
  3. 毎月の支払いを計算して返すメソッドを呼び出す
  4. メソッドを呼び出して、借入額、年利率、月数、および毎月の支払いを示すローン明細書を印刷します。

複数の方法で作業するのはこれが初めてです。以下に示すように、これまでのコードを開発しました。netbeans エディタでエラーが発生することはありませんが、最後のメソッドのステートメントが出力されません。私の質問は次のとおりです。

  1. メソッドが正しく設定され、パラメーターが正しく渡されているか
  2. ステートメントが最後に出力されないのはなぜですか
  3. 他のメソッドを正しくキャプチャしていますか? メイン メソッドに変数を入力してから、最終メソッドで呼び出す必要がありますか。
  4. 私のコードは冗長ですか?

ここから先に進む方法がよくわかりません。

public class CarLoan {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // declare variables for main method
    double loanAmount;//double value loan amount 
    double annualInterestRate;//double value interest rate
    int numberOfMonths;//int value for number of months
    double monthlyPayment;

Scanner keyboard = new Scanner(System.in);

    System.out.println("Please enter the amount of your loan.");
    loanAmount = keyboard.nextDouble();

    System.out.println("Please enter the annual interest rate as a decimal. Ex. 7.5% = .075");
    annualInterestRate = keyboard.nextDouble();

    System.out.println("Please enter the number of months you have to pay back your loan.");
    numberOfMonths = keyboard.nextInt();

}
*************************************************

public static double calcMonthlyInterestRate(double annualInterestRate){
    double monthlyInterestRate;
        monthlyInterestRate = (annualInterestRate/12);
        return monthlyInterestRate;
}//end method CalcMonthlyInterestRate
**************************************************************************************

    public static double calcMonthlyPayment(double monthlyInterestRate, double loanAmount, int            numberOfMonths     ){
    double monthlyPayment;
    double calcMonthlyPayment;
        calcMonthlyPayment = (monthlyInterestRate*loanAmount)/(1-(1+monthlyInterestRate)-numberOfMonths);
        return monthlyPayment = calcMonthlyPayment;
}//end method CalcMonthlyPayment
****************************************************************************************
       public static void loanStatment (double loanAmount, double annualInterestRate, intnumberOfMonths,  double monthlyPayment){
 System.out.println("Your loan amount is " +loanAmount);
 System.out.println(annualInterestRate);
 System.out.println(numberOfMonths);
 System.out.println(monthlyPayment);
  }


 }//end main method


}//end main method
4

2 に答える 2

0

main メソッドを見ると、変数を宣言して入力を受け取っているだけであることがわかります。計算を実行する他のメソッドと、結果を出力するloanStatment (sic) メソッドは呼び出されません。

このような非常に単純なエラーで時間を無駄にしないように、基本を読むことをお勧めします。

于 2013-10-07T02:38:44.970 に答える
0

以下に示すように、メイン メソッドを変更する必要があります。

import java.util.Scanner;

public class CarLoan {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // declare variables for main method
    double loanAmount;//double value loan amount 
    double annualInterestRate;//double value interest rate
    int numberOfMonths;//int value for number of months
    double monthlyPayment;

    Scanner keyboard = new Scanner(System.in);

    System.out.println("Please enter the amount of your loan.");
    loanAmount = keyboard.nextDouble();

    System.out.println("Please enter the annual interest rate as a decimal. Ex. 7.5% = .075");
    annualInterestRate = keyboard.nextDouble();

    System.out.println("Please enter the number of months you have to pay back your loan.");
    numberOfMonths = keyboard.nextInt();

    System.out.println("Please enter your monthly payment.");
    monthlyPayment = keyboard.nextDouble();

    System.out.println("Your monthly interest rate is ");
    System.out.println(calcMonthlyInterestRate(annualInterestRate));

    System.out.println("Your monthly payment is ");
    System.out.println(calcMonthlyPayment(calcMonthlyInterestRate(annualInterestRate),loanAmount,numberOfMonths));

    loanStatment(loanAmount,annualInterestRate,numberOfMonths,monthlyPayment);


}


public static double calcMonthlyInterestRate(double annualInterestRate){
    double monthlyInterestRate;
        monthlyInterestRate = (annualInterestRate/12);
        return monthlyInterestRate;
}//end method CalcMonthlyInterestRate


    public static double calcMonthlyPayment(double monthlyInterestRate, double loanAmount, int            numberOfMonths     ){
    double monthlyPayment;
    double calcMonthlyPayment;
        calcMonthlyPayment = (monthlyInterestRate*loanAmount)/(1-(1+monthlyInterestRate)-numberOfMonths);
        return monthlyPayment = calcMonthlyPayment;
}//end method CalcMonthlyPayment

 public static void loanStatment (double loanAmount, 
                                                 double annualInterestRate,
                                                 int numberOfMonths, 
                                                 double monthlyPayment){
             System.out.println("Your loan amount is " +loanAmount);
             System.out.println(annualInterestRate);
             System.out.println(numberOfMonths);
             System.out.println(monthlyPayment);
  }


 }//end of CarLoan

mainメソッドがJavaでどのように機能するかについて少し読んでおくことを本当にお勧めします.それは役に立ちます.

于 2013-10-07T06:21:17.970 に答える