从一开始,我应该如何开始我的最低硬币项目,用户更改输入?

发布于 2025-01-23 13:14:59 字数 1554 浏览 2 评论 0原文

该程序应该在开始时找到基于用户输入的更改使用的最小硬币。但是,我似乎从一开始就无法完全重新开始。在当前状态下,它每次开始时都会不断添加相同的数字,并且不会显示用户第二次读取的输出。编辑:代码格式

import java.util.Scanner; // Import Scanner class
public class Main
{
    public static void main(String[] args) {
        
            Scanner input = new Scanner(System.in); // Create a Scanner object
            
            int change = 0;
            int quarters = 0;
            int dime = 0;
            int nickels = 0;
            int pennies = 0;
            
        System.out.println("Please Enter Amount of Change (1-99) or ZERO to EXIT.");
        while (change == 0) {
            change = input.nextInt();
            
            while (change <= 0) {
                    System.exit(0);
            }
            while (change >= 25){
                change = (change - 25); quarters = (quarters + 1);
            
            }
            while (change >= 10) {
                change = (change - 10); dime = (dime + 1);
            }
            while (change >= 5) {
                change = (change - 5); nickels = (nickels + 1); // block of code to be executed if the condition is true
            }
                    pennies = change; // block of code to be executed if the condition is false
                

        System.out.println("You currently have: ");
        System.out.println("Quarters:" + quarters);
        System.out.println("Dimes:" + dime);
        System.out.println("Nickels:" + nickels);
        System.out.println("Pennies:" + pennies);
            }
    }
}


This program is supposed to find the minimum coins to use based off of the change the user inputs in the beginning. However I can't seem to get it to start completely over from the beginning. In it's current state it keeps adding the same numbers up every time it starts over, and it doesn't display the output for the user to read the second time. Edit: code format

import java.util.Scanner; // Import Scanner class
public class Main
{
    public static void main(String[] args) {
        
            Scanner input = new Scanner(System.in); // Create a Scanner object
            
            int change = 0;
            int quarters = 0;
            int dime = 0;
            int nickels = 0;
            int pennies = 0;
            
        System.out.println("Please Enter Amount of Change (1-99) or ZERO to EXIT.");
        while (change == 0) {
            change = input.nextInt();
            
            while (change <= 0) {
                    System.exit(0);
            }
            while (change >= 25){
                change = (change - 25); quarters = (quarters + 1);
            
            }
            while (change >= 10) {
                change = (change - 10); dime = (dime + 1);
            }
            while (change >= 5) {
                change = (change - 5); nickels = (nickels + 1); // block of code to be executed if the condition is true
            }
                    pennies = change; // block of code to be executed if the condition is false
                

        System.out.println("You currently have: ");
        System.out.println("Quarters:" + quarters);
        System.out.println("Dimes:" + dime);
        System.out.println("Nickels:" + nickels);
        System.out.println("Pennies:" + pennies);
            }
    }
}


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缱绻入梦 2025-01-30 13:14:59

我相信我已经弄清楚了。我将所有整数重置为代码末尾的0,并添加了另一个与第一个位相同的打印语句。如果有人看到了这一点,并希望看到我已修复的代码,我将在下面发布。

解决方案:

    import java.util.Scanner; // Import Scanner class

public class Main {
    public static void main(String[] args) {
        
            Scanner input = new Scanner(System.in); // Create a Scanner object
            
            int change = 0;
            int quarters = 0;
            int dime = 0;
            int nickels = 0;
            int pennies = 0;
            
        System.out.println("Please Enter Amount of Change (1-99) or ZERO to EXIT.");
        while (change == 0) {
            change = input.nextInt();
            
            while (change <= 0) {
                    System.exit(0);
            }
            while (change >= 25){
                change = (change - 25); quarters = (quarters + 1);
            
            }
            while (change >= 10) {
                change = (change - 10); dime = (dime + 1);
            }
            while (change >= 5) {
                change = (change - 5); nickels = (nickels + 1); // block of code to be executed if the condition is true
            }
                    pennies = change; // block of code to be executed if the condition is false
                

        System.out.println("You currently have: ");
        System.out.println("Quarters:" + quarters);
        System.out.println("Dimes:" + dime);
        System.out.println("Nickels:" + nickels);
        System.out.println("Pennies:" + pennies);
        change = 0;
        quarters = 0;
        dime = 0;
        nickels = 0;
        pennies = 0;
        System.out.println("Please Enter Amount of Change (1-99) or ZERO to EXIT.");
            }
    }
}

I believe I've figured it out. I reset all integers to 0 at end of code and added another print statement stating the same as the first bit. In case anyone sees this and wants to see the code i fixed it to, I'll post it below.

Solution:

    import java.util.Scanner; // Import Scanner class

public class Main {
    public static void main(String[] args) {
        
            Scanner input = new Scanner(System.in); // Create a Scanner object
            
            int change = 0;
            int quarters = 0;
            int dime = 0;
            int nickels = 0;
            int pennies = 0;
            
        System.out.println("Please Enter Amount of Change (1-99) or ZERO to EXIT.");
        while (change == 0) {
            change = input.nextInt();
            
            while (change <= 0) {
                    System.exit(0);
            }
            while (change >= 25){
                change = (change - 25); quarters = (quarters + 1);
            
            }
            while (change >= 10) {
                change = (change - 10); dime = (dime + 1);
            }
            while (change >= 5) {
                change = (change - 5); nickels = (nickels + 1); // block of code to be executed if the condition is true
            }
                    pennies = change; // block of code to be executed if the condition is false
                

        System.out.println("You currently have: ");
        System.out.println("Quarters:" + quarters);
        System.out.println("Dimes:" + dime);
        System.out.println("Nickels:" + nickels);
        System.out.println("Pennies:" + pennies);
        change = 0;
        quarters = 0;
        dime = 0;
        nickels = 0;
        pennies = 0;
        System.out.println("Please Enter Amount of Change (1-99) or ZERO to EXIT.");
            }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文