誰かが私のコードを修正するのを助けてくれますか?住宅ローン(UMI)を計算するために作成されていますが、コーディングは正確ですが、出力は完全には表示されません。 「ローン期間を入力してください」の後、ボックスが表示されます。変数をclass Variables
に設定する別の方法もありますか?自分のコードを確認して修正してください。 (私は初心者です)
package assignment.pkg2;
import java.util.Scanner;//for Scanner
import java.text.DecimalFormat;//for using decimal format
class Variables{ //set the variables
private double p, r, n;
public void setVarP (double amount){
this.p = amount;
}
public void setVarR (double rate){
this.r = rate;
}
public void setVarN (int duration){
this.n = duration;
}
public double getVarP(){
return p;
}
public double getVarR(){
return r;
}
public double getVarN(){
return n;
}
}
class EMIcalc{ //the calculating part
private double monthlyPay, pow;
Variables var = new Variables();
Scanner scanner = new Scanner(System.in);
public void getPay(){
pow = Math.pow (1+(var.getVarR()/12), - var.getVarN());
monthlyPay = var.getVarP() * ((var.getVarR()/12)/(1 - pow));
DecimalFormat Dformat = new DecimalFormat("##.##");
System.out.println(Dformat.format(monthlyPay));
}
}
public class Assignment2 {
public static void main(String[] args) {
Variables var1 = new Variables();
EMIcalc calc = new EMIcalc();
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your loan amount");
var1.setVarP(scanner.nextDouble());
System.out.println("Enter interest rate");
var1.setVarR(scanner.nextDouble());
System.out.println("Enter loan duration");
var1.setVarN(scanner.nextInt());
calc.getPay();
}
}
これを行うには、スタックEchangeコードレビューを検討する必要があります。 http://codereview.stackexchange.com/ –
コードレビューのガイドラインでは、誤った結果が生じた場合には質問しないと言います。これは、Opが2つの異なるオブジェクトを同じものとして混同しているという問題があるため、ここではより良いかもしれません。 –
ようこそスタックオーバーフロー!宿題の助けを求めているようです。それ自体に問題はありませんが、これらのことを守ってください(http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions/338845#338845)、それに応じて質問を編集してください。 (これは宿題ではなくとも、とにかくアドバイスを検討してください) –