如果您要求用户“输入一个数字(1-99)或按0退出”,而用户输入了0,如何终止Java程序?
我为我的编程入门课程创建了一个程序,让你输入任何数字(1-99),它代表你的变化量,告诉你你有多少个25美分、10美分、5美分和1美分。示例:42美分等于1个25美分、1个10美分、1个5美分和2个便士)。无论如何,我问用户(“请输入变化量(1-99)或按0退出”)。如果他们按0,我将如何编写程序以终止?这就是我到目前为止所做的: //最低硬币数量计划 包装小型硬币 /** *@作者凯西·邦克 *@日期2020年3月31日 */ 导入java.util.Scanner 公营小型硬币{如果您要求用户“输入一个数字(1-99)或按0退出”,而用户输入了0,如何终止Java程序?,java,methods,netbeans,computer-science,Java,Methods,Netbeans,Computer Science,我为我的编程入门课程创建了一个程序,让你输入任何数字(1-99),它代表你的变化量,告诉你你有多少个25美分、10美分、5美分和1美分。示例:42美分等于1个25美分、1个10美分、1个5美分和2个便士)。无论如何,我问用户(“请输入变化量(1-99)或按0退出”)。如果他们按0,我将如何编写程序以终止?这就是我到目前为止所做的: //最低硬币数量计划 包装小型硬币 /** *@作者凯西·邦克 *@日期2020年3月31日 */ 导入java.util.Scanner 公营小型硬币{ publi
public static void main(String[] args) {
//declare & initialize variables
//Instantiating Scanner
Scanner input = new Scanner(System.in);
int change = 0;
int quarters = 0;
int dimes = 0;
int nickles = 0;
int pennies = 0;
//asking user for input
System.out.print("Please Enter Amount of change(1-99) or ZERO TO EXIT:");
//take input from the user
change = input.nextInt();
//loop through program while user enters numbers, stop when they enter 0
while (change!=0){
while (change >= 25){
change = change - 25;
quarters=quarters+1;
}
while(change>=10){
change = change - 10;
dimes = dimes + 1;
}
while(change>=5){
change=change-5;
nickles = nickles + 1;
}
while(change>=1){
change = change - 1;
pennies = pennies + 1;
}
}
System.out.println("Quarters:"+quarters);
System.out.println("Dimes:"+dimes);
System.out.println("Nickles:"+nickles);
System.out.println("Pennies:"+pennies);
}
}您可以使用System.exit(0)强制退出程序。在此处查找更多信息在向用户打印之前,您可以执行以下操作:
/*
your while loops
*/
if (change == 0){
System.out.println("exiting...");
System.exit(0);
}
/*
your prints
*/
编辑:
实际上,您可以通过键入return而不是System.exit(0)退出该程序。但是System.exit(0)是一种更通用的方法,因为如果您不从main()函数返回,那么您的程序实际上不会退出 您可以使用Ahmed的答案,但不要将其放在while循环之后,而是放在您获得用户输入后,即
change = input.nextInt();
这将阻止程序在while循环中进行计算,因为您不再需要代码来进行计算。以下是您可以使用的最终代码
public static void main(String[] args) {
//declare & initialize variables
//Instantiating Scanner
Scanner input = new Scanner(System.in);
int change = 0;
int quarters = 0;
int dimes = 0;
int nickles = 0;
int pennies = 0;
//asking user for input
System.out.print("Please Enter Amount of change(1-99) or ZERO TO EXIT:");
//take input from the user
change = input.nextInt();
if (change == 0) {
System.out.println("exiting...");
System.exit(0);
} else {
//loop through program while user enters numbers, stop when they enter 0
while (change!=0){
while (change >= 25){
change = change - 25;
quarters=quarters+1;
}
while(change>=10){
change = change - 10;
dimes = dimes + 1;
}
while(change>=5){
change=change-5;
nickles = nickles + 1;
}
while(change>=1){
change = change - 1;
pennies = pennies + 1;
}
}
System.out.println("Quarters:"+quarters);
System.out.println("Dimes:"+dimes);
System.out.println("Nickles:"+nickles);
System.out.println("Pennies:"+pennies);
}
}
你的代码确实终止了-你到底在问什么?无论用户输入什么,你的程序都会退出,所以我不明白你在问什么。可以通过
change=input.nextInt()来改进;如果(改变)