所以我有这个阶段程序接受用户的输入。一切正常,但我想弄清楚如何通过输入0来结束程序。因为它是在布尔运算上我不能输入if语句因为我会得到编译错误。
import java.util.*;
import java.io.*;
public class Assignment2A {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
boolean correct = false;
while(!false){
try{
System.out.println("Welcome to the factorial function");
System.out.println("Please enter a number or press 0 to exit");
int n = scan.nextInt();
// if(n=0){
// System.exit(0);
//}
int factorial= fact(n);
System.out.println("The Factorial of the number entered is: " + factorial);
correct = true;
}catch(Exception e){
System.out.println("That is not a number!");
System.exit(0);
}
}
}
static int fact(int n){
int output;
if(n==1){
return 1;
}
output = fact(n-1)*n;
return output;
}
}
答案 0 :(得分:0)
不幸的是,没有任何(简单)方法可以做到这一点。最接近的等价物是实现KeyListener
,但这仅适用于Swing方法(窗口和东西,而不是CLI)。
相反,您应该检查是否输入了某个值。例如,0!只有1,所以你可以让你的程序说"输入一个数字来计算因子,或输入0退出"。您也可以使用负数来执行此操作,因为它看起来不像您的程序可以很好地处理它们。另外,也许您应该添加一个负数的检查。
答案 1 :(得分:0)
所以我也是初学者,但试试这个......
System.out.println("欢迎使用阶乘函数");
System.out.println("请输入一个数字或按0退出");
int n = scan.nextInt();
如果(N == 0)断裂; //把休息放在这里然后尝试一下,尝试使用退出并且没有为我工作