我正在尝试在java中创建一个程序,该程序应该计算任何给定购买的每月付款和融资的总利息。该应用程序还应允许用户比较两个不同付款计划之间的差异。
我有什么
Scanner scan = new Scanner(System.in);
System.out.println("Enter the total cost of the purchase:");
float tPurchase = scan.nextFloat();
System.out.println("Enter your first down payment:");
float Paymentone = scan.nextFloat();
System.out.println("Enter your second down payment: ");
float Paymenttwo = scan.nextFloat();
System.out.println("Enter first lenght of time to pay");
float paylenght = scan.nextFloat();
System.out.println("Enter second length of time to pay:");
float paylength2 = scan.nextFloat();
System.out.println("Enter APR:");
我的问题是如何让程序以百分比形式扫描下一个数字。例如,总购买10,000,首付3,000,第二次下降5,000,APR一次1%,三年和APR两次2%,5年。无需告诉我如何计算,如何使其扫描为百分比。
答案 0 :(得分:1)
如何以百分比扫描下一个数字与您在上面所做的事情没有什么不同。
也许你唯一需要改变的是:
System.out.println("Enter the percentage:");
您可以通过以下方式检索输入:
float percentage = scan.nextFloat(); //or
int percentage = scan.nextInt();
或者,如果您希望用户在其输入中包含%
,则可能需要执行以下操作:
String strPercentage = scan.nextLine();
float percentage = Float.parseFloat(strPercentage.substring(0,strPercentage.length()-1));
当然,您需要首先验证用户输入以匹配您想要的值。
答案 1 :(得分:0)
这取决于您希望应用程序的行为方式。是否接受aor采用xx %
,x.xx
或仅xx
的形式?
然后这段代码将处理所有这三种情况:
System.out.println("Enter APR:");
String aprTemp = scan.next();
int apr;
if (aprTemp.contains("%")) {
String aprStr = aprTemp.substring(0, aprTemp.indexOf("%"));
apr=Integer.parseInt(aprTemp);
}else if(aprTemp.matches("[0-9]+")){ // regex for number
apr=Integer.parseInt(aprTemp);
}else if(aprTemp.matches(""^([+-]?\\d*\\.?\\d*)$""){ // regex for float
float aprFloat=Float.parseFloat(aprTemp);
}