有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java调试学校项目

是的,我正在为学校做一个程序,这个程序的目的是寻找最小数量的硬币,我是一个新手程序员,这是我第一次,所以我不知道成千上万的其他事情和其他人不知道的事情。我写了代码,它工作正常,但我似乎发现了一个错误/小故障或你想称之为w/e

我的密码

import java.util.Scanner;

public class Coin {

public static void main (String[] Args) {

    int quarters = 25;
    int dimes = 10;
    int nickles = 5;
    int pennies = 1;


    System.out.println("Enter in a number between 1-99");

    // "Input" Part of Code (Remember this and go back for reference)
    Scanner Userinput = new Scanner(System.in);

   int stuff = Userinput.nextInt();
   int q = stuff/quarters;
   String A = "Number of Quarters:" +q;


   System.out.println(A);

   int hold = stuff%quarters;
   int d = hold/dimes;
   String B = "Number of Dimes:" +d;

   System.out.println(B);

   int hold1 = stuff%dimes;
   int n = hold1/nickles;
   String C = "Number of Nickles:" +n;

   System.out.println(C);

   int hold2 = stuff%nickles;
   int p = hold2/pennies;
   String D = "Number of Pennies:" +p;

   System.out.println(D);

   System.out.println("Thank you for Using My Program");

      }
}

现在,一切都很好,我可以输入任何我喜欢的数字,并得到想要的结果,但由于一些奇怪的原因,我无法理解我键入的任何数字在75-79之间,有一个额外的五分镍币由于一些奇怪的原因,我花了2个小时的大部分时间试图找出到底是什么错了,但无法。我尝试了几十个toher号码,除了一个小区域外,它们工作正常

谁能碰巧告诉我出了什么问题吗


共 (2) 个答案

  1. # 1 楼答案

    在添加之前较大的硬币时,需要减去已经计算的金额

    例如,如果我说77,那么程序将检查77%10并返回7。你可能想通过之前添加的硬币来调整你的“物品”价值。所以在本例中,在添加3个四分之一(75)之后,我们想要设置stuff=stuff-75(stuff-=75)

    编辑:更准确地说,在每次计算之后

    stuff -= q * quarters;
    

    当然,更改变量以适合代码的每一部分

  2. # 2 楼答案

    你的hold = ...行应该基于之前的hold值,而不是全额(stuff

    int hold2 = hold%nickles;