0
여기에 내가 대답해야 할 문제가 있습니다. (다양한 이자율의 대출 비교) 사용자가 대출 금액과 대출 기간을 연도 수로 입력하고 5 %에서 8 %로 시작하는 각 이자율에 대한 월별 및 총 지불액은 1/8 단위로 증가합니다.소수 자릿수와 고정 컬럼 형식 지정
import java.util.Scanner; // Scanner is in java.util
public class FinancialApp {
\t public static void main(String[] args) {
\t Scanner input = new Scanner(System.in); // Scanner object
\t System.out.print("Enter loan amount: "); // input value for loan
\t \t double loanAmount = input.nextDouble();
\t System.out.print("Enter number of years as an integer: ");
\t \t int years = input.nextInt();
\t System.out.println("Intrest Rate" + "\t" + "Monthly Payment" + "\t" + "Total Payment");
\t \t for(double i = 5.000; i <= 8.000; i += 0.125){
\t \t \t double monthlyIntrest = i/1200;
\t \t \t double monthlyPay = loanAmount * monthlyIntrest/(1 - 1/Math.pow(1 + monthlyIntrest, years * 12));
\t \t \t double totalPay = monthlyPay * years * 12;
\t \t \t System.out.println(i + "%" + "\t" + monthlyPay + "\t" + totalPay);
\t \t }
\t }
}
은 단순하게 귀하의 질문에 대답하기 위해서는'System.out.printf (". % 2F \ 없음"12345.456)처럼 acheived 할 수있다; '하지만 돈을 위해서'double'을 사용해서는 안됩니다. BigDecimal을 보자. –
double을 BigDecimal로 변환하고 setScale 메소드를 사용한다. –