【问题标题】:How can I exit a program through prompt, how can I run a loop [duplicate]如何通过提示退出程序,如何运行循环[重复]
【发布时间】:2017-04-11 02:10:50
【问题描述】:

您好,我是编程新手,已为我正在学习的课程分配了“最低硬币计划”。我已经完成了它的主要代码并且运行良好。但部分参数是,如果用户输入零,程序将退出,否则程序将继续循环。我已经尝试查找答案,但到目前为止都没有。

这就是我所拥有的,但我似乎无法掌握循环。这是我们的第一个非流程图作业。另外,如果您对改进我已经拥有的东西有任何建议,我将不胜感激(这位教授是一个非常苛刻的评分者)。

如何让程序通过用户输入零退出,以及如何保持程序循环直到用户输入零。到目前为止,该程序只运行一次,当我输入零时,它会列出最小的变化量

package mincoins;

import java.util.Scanner;

public class MinCoins
{

public static void main(String[] args)
{ //start code

    //initialization
    Scanner input = new Scanner(System.in); //create input class to get change data 
    int amount, quartercount = 0, dimecount = 0, nickelcount = 0, penniecount = 0; 
    amount = 1;


    while (amount != 0)
    {

        System.out.println("Please Enter amount of change (1-99) or ZERO to EXIT");
        System.out.println("");

        amount = input.nextInt();

        {

            while (amount > 25)
            {
                amount = amount - 25;
                quartercount++;
            }

            while (amount > 10)
            {
                amount = amount - 10;
                dimecount++;
            }

            while (amount > 5)

            {
                amount = amount - 5;
                nickelcount++;
            }
            System.out.println("");

            System.out.println("Quarters: " + quartercount);

            System.out.println("Dimes: " + dimecount);

            System.out.println("Nickles: " + nickelcount);

            System.out.println("Pennies: " + amount);

            System.out.println("");

        }
    }


}//main

}//class

【问题讨论】:

  • 好吧,既然是你第一次发问题,首先我想问你能定义一个你想回答的问题吗?您面临的具体问题是什么?接下来,您是否也可以阅读文档。 “我怎么问一个好问题?” --> stackoverflow.com/help/how-to-ask
  • 嗨,我添加了更多信息,希望这更容易理解。我想知道在用户进入提示后如何让程序退出,以及如果用户没有进入退出提示,如何让程序保持循环。
  • if (amount == 0) return;
  • 欢迎来到 Stack Overflow!在尝试提出更多问题之前,请阅读How do I ask a good question?
  • 欢迎来到 Stack Overflow!在尝试提出更多问题之前,请阅读What types of questions should I avoid asking?

标签: java loops counter exit


【解决方案1】:

您的程序(通常)在 1 次循环后结束,因为您的代码在执行过程中减少了 amount,如果所需的便士数为零,则循环结束,因为 amount 减少到零。

试试这个:

while (true) {
    // print and read amount
    if (amount == 0)
        break;
    // rest of code
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多