-2

您好,到目前为止,我有这段代码可以找到给定数量的较少变化,但我不断收到静态错误消息。我不知道为什么。

 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);

}}
4

2 回答 2

3

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

于 2013-01-22T21:09:48.833 回答
1

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

于 2013-01-22T21:44:00.430 回答