Java 用小数点计算变化(可能是简单的解决方案)

Java 用小数点计算变化(可能是简单的解决方案),java,number-formatting,Java,Number Formatting,我有以下代码(我不是很懂电脑,所以要温柔),用户应该能够输入个人硬币数量,程序会告诉用户他们在所述硬币数量中有多少钱 import java.util.*; public class Coins { public static final Scanner CONSOLE = new Scanner(System.in); public static void main(String[] args) { System.out.println ("Lab 2 by Maria

我有以下代码(我不是很懂电脑,所以要温柔),用户应该能够输入个人硬币数量,程序会告诉用户他们在所述硬币数量中有多少钱

import java.util.*;

public class Coins {
  public static final Scanner CONSOLE = new Scanner(System.in);

  public static void main(String[] args) {

    System.out.println ("Lab 2 by Maria T Williams\n");

    quarterAmount( );
    dimeAmount( );
    nickelAmount( );
    pennyAmount( );
  }

  public static void quarterAmount( ) {
    System.out.print("Enter the number of quarters: ");
    int quarterNumber = CONSOLE.nextInt( );
    double amount = quarterNumber * 0.25;
    System.out.print(quarterNumber + " You have $" + amount);
    System.out.println(" worth of quarters.");
  }

  public static void dimeAmount( ) {
    System.out.print("Enter the number of dimes: ");
    int dimeNumber = CONSOLE.nextInt( );
    double amount = dimeNumber * .10;
    System.out.print(dimeNumber + " You have $" + amount);
    System.out.println(" worth of dimes.");
  }

  public static void nickelAmount( ) {
    System.out.print("Enter the number of nickels: ");
    int nickelNumber = CONSOLE.nextInt( );
    double amount = nickelNumber * 0.05;
    System.out.print(nickelNumber + " You have $" + amount);
    System.out.println(" worth of nickels.");
  }

  public static void pennyAmount( ) {
    System.out.print("Enter the number of pennies: ");
    int pennyNumber = CONSOLE.nextInt( );
    double amount = pennyNumber * 0.01;
    System.out.print(pennyNumber + " You have $" + amount);
    System.out.println(" worth of pennies.");
  }
}
如果我输入的金额在100位的数字不是“0”,我就可以了。但是如果我输入,比如说,两个季度,我得到的是“$0.5”而不是“$0.50”。

您可以使用a强制将数字格式化为您想要的格式。例如:

DecimalFormat df = new DecimalFormat("#.00");
double amount = dimeNumber * .10;
System.out.print(dimeNumber + " You have $" + df.format(amount) + " worth of dimes.");

输出计算结果时,您可以使用如下
DecimalFormat

    DecimalFormat f = new DecimalFormat("#0.00");
    System.out.println(f.format(dimeNumber));

将内部总和保留为美分,然后将最终总和转换回#.#.##?使用
System.out.printf(…)
not out.println。对浮点数使用格式化程序,如%0.2f。或者使用NumberFormat getCurrencyInstance。无论我在何处尝试添加该代码,都会得到以下信息:文件:C:\Users\Theria\Downloads\Coins.java[line:29]错误:DecimalFormat无法解析为type@Maria由于
DecimalFormat
不在
java.lang
包中,因此您应该完全限定它(即,在类声明之前使用
java.text.DecimalFormat
)或添加导入语句(
import java.text.DecimalFormat;
)。文件:C:\Users\Theria\Downloads\Coins.java[行:29]错误:DecimalFormat无法解析为类型我可能将代码放错了位置?同样,非常不懂计算机的人尝试添加导入:import java.text.DecimalFormat;