这是一项家庭作业,我正在设计一个兴趣计算器。我需要使用BigDecimal类,但无法弄清楚如何以货币或百分比形式输出。我不完全确定要问什么问题,但我要发布两个代码BigDecimal类代码,另一个以我需要的方式显示输出,但不使用BigDecimal。任何建议感激。Java Bigdecimal类
import java.util.Scanner;
import java.math.*;
public class project3a
{
public static void main(String[] args)
{
System.out.println("Welcome to the interest calculator");
System.out.println();
// create a scanner object and start while loop
Scanner sc = new Scanner(System.in);
String choice ="y";
while (choice.equalsIgnoreCase("y"))
{
//Get input from user
System.out.print("Enter Loan amount: ");
double Loanamount = sc.nextDouble();
System.out.print("Enter Interest Rate: ");
double interestrate = sc.nextDouble();
//calculate results
double Interest = Loanamount * interestrate;
//format
BigDecimal decimalLoanamount = new BigDecimal(Double.toString (Loanamount));
decimalLoanamount = decimalLoanamount.setScale(2, RoundingMode.HALF_UP);
BigDecimal decimalinterestrate = new BigDecimal(Double.toString(interestrate));
BigDecimal decimalInterest = new BigDecimal (Double.toString(Interest));
decimalInterest = decimalInterest.setScale(2,RoundingMode.HALF_UP);
//Display results
System.out.println("Loan amount: " + decimalLoanamount);
System.out.println("Interest rate: " + decimalinterestrate);
System.out.println("Interest:" + decimalInterest);
System.out.println();
//see if user wants to continue
System.out.print("Continue? (y/n): ");
choice = sc.next();
System.out.println();
}
}
}
import java.util.Scanner;
import java.text.NumberFormat;
import java.math.*;
public class project3a
{
public static void main(String[] args)
{
System.out.println("Welcome to the interest calculator");
System.out.println();
// create a scanner object and start while loop
Scanner sc = new Scanner(System.in);
String choice ="y";
while (choice.equalsIgnoreCase("y"))
{
//Get input from user
System.out.print("Enter Loan amount: ");
double Loanamount = sc.nextDouble();
System.out.print("Enter Interest Rate: ");
double interestrate = sc.nextDouble();
//calculate results
double Interest = Loanamount * interestrate;
//format and display results
NumberFormat currency = NumberFormat.getCurrencyInstance();
NumberFormat percent = NumberFormat.getPercentInstance();
String message =
"Loan amount: " + currency.format (Loanamount) + "\n"
+ "Interest rate: " + percent.format (interestrate)+ "\n"
+ "Interest: " + currency.format (Interest) + "\n";
System.out.println(message);
//see if user wants to continue
System.out.print("Continue? (y/n): ");
choice = sc.next();
System.out.println();
}
}
}
代码越少,问题越好,答案越快越好。 – 2012-02-10 02:40:07
我只是试图表明,我正在努力,而不是只是为了寻找答案,因为这是作业。 – 2012-02-10 02:52:01
您能更具体地了解您期望的输出和您获得什么? 'currency.format()'和'percent.format()'是你的问题吗? – 2012-02-10 02:58:02