嗨,我是编程新手,并为我正在上课的课程分配了“最低硬币计划”。我已经完成了它的主要代码,它运行正常。但部分参数是,如果用户输入零,程序将退出,否则程序将继续循环。我试过查找答案但到目前为止还没有找到答案。
这是我所拥有的,但我似乎无法掌握循环。这是我们的第一个非流程图分配。此外,如果你有任何改善我已经拥有的建议,也将受到赞赏(这位教授是一个非常苛刻的评分者)。
如何让程序通过输入零的用户退出,以及如何在用户输入零之前保持编程循环。截至目前,该程序只运行一次,当我输入零时,它列出了最小的更改量
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
答案 0 :(得分:0)
你的程序(经常)在1次循环后结束,因为你的代码在进展时会减少amount
,如果所需的便士数为零,则循环结束,因为amount
减少为零。 / p>
试试这个:
while (true) {
// print and read amount
if (amount == 0)
break;
// rest of code
}