Java硬币计数器代码

时间:2013-01-22 21:01:25

标签: java

你好我到目前为止有这个代码找到给定数量的更少的更改量,但我不断收到静态错误消息。我不知道为什么。

 import java.util.Scanner;

 public class Coin{
  public static void main (String[] Args){
  Scanner sc = new Scanner (System.in);
  System.out.print("Enter a number");
  int i = sc.nextInt();
  int q = 25;
  int d = 10;
  int n = 5;
  int p = 1;
  int quarters = (i/q);
  int dimes = i - quarters*25/d;
  int nickels = i - (quarters*25) - (dimes*10)/n;
  int pennies = i - (quarters*25) - (dimes*10) - (nickels*5)/p;
  System.out.println ("Your amount contain the following");
  System.out.println ("quarters:   " + quarters);
  System.out.println ("dimes:    " + dimes);
  System.out.println ("nickels:    " + nickels);
  System.out.println ("pennies:    " + pennies);

}}

2 个答案:

答案 0 :(得分:3)

冒着解决看起来非常像家庭作业问题的风险,我只想指出我看到的最大错误是运算符优先级。换句话说,我相信你需要更多的括号。

答案 1 :(得分:1)

根据您的评论,您使用的是Scanner类的nextInt()方法,该方法只会得到一个整数。如果键入浮点数(如3.54),则会抛出异常。您需要改为使用nextFloat()并将变量i更改为浮点数。