0

ユーザーが残高の値、小数形式の利率の値、および毎月の支払いの値を入力できる償却計算機をプログラムしようとしています。この情報を使用して、ドルでの利息額、元本額、および新しい残高を出力したいと考えています。これが私のコードです:

import java.util.Scanner;
public class Amortization{
   public static void main(String []args){
      Scanner pmt, interest, balance = new Scanner(System.in);
      System.out.println("What is your balance?");
      double b = balance.nextDouble();
      System.out.println("What is your interest rate in decimal?");
      double i = interest.nextDouble();
      System.out.println("What is your monthly payment?");
      double p = pmt.nextDouble();
      double pv = p-(b*i);
      System.out.println("Your interest amount is " + (b*i));
      System.out.println("Your principal amount is " + pv);
      System.out.println("Your new balance is " + (b-pv));
   }
}
4

2 に答える 2

1

標準入力から読み取る 3 つのスキャナーを宣言しないでください。1つを宣言し、それから読み続けてください。このような:

import java.util.Scanner;
public class Amortization{
   public static void main(String []args){
      Scanner input = new Scanner(System.in);
      System.out.println("What is your balance?");
      double b = input.nextDouble();
      System.out.println("What is your interest rate in decimal?");
      double i = input.nextDouble();
      System.out.println("What is your monthly payment?");
      double p = input.nextDouble();
      double pv = p-(b*i);
      System.out.println("Your interest amount is " + (b*i));
      System.out.println("Your principal amount is " + pv);
      System.out.println("Your new balance is " + (b-pv));
   }
}

ここでの要点は、スキャナは入力ストリームから読み取るオブジェクトであり、読み取られる値ではないということです。読み取りたい値ごとに新しいスキャナーは必要ありません。

于 2016-09-29T21:54:24.770 に答える