你好我到目前为止有这个代码找到给定数量的更少的更改量,但我不断收到静态错误消息。我不知道为什么。
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);
}}
答案 0 :(得分:3)
冒着解决看起来非常像家庭作业问题的风险,我只想指出我看到的最大错误是运算符优先级。换句话说,我相信你需要更多的括号。
答案 1 :(得分:1)
根据您的评论,您使用的是Scanner类的nextInt()
方法,该方法只会得到一个整数。如果键入浮点数(如3.54),则会抛出异常。您需要改为使用nextFloat()并将变量i
更改为浮点数。