在java中创建带有错误消息的factorial-if,else语句

在java中创建带有错误消息的factorial-if,else语句,java,if-statement,factorial,Java,If Statement,Factorial,我需要用if,else语句创建阶乘代码,其中用户输入必须是大于零的整正数。否则,它将显示一条错误消息,要求用户输入大于零的整数。 我从以下代码开始: System.out.print(“输入您的号码:”); int number=sc.nextInt(); if(number似乎您为numberif循环设置了错误的条件 Asif(数字0) { 对于(count=1;count只需在对nextInt()的调用周围放置一个try块,如果引发异常,请告诉用户,如下所示: int number = 0;

我需要用if,else语句创建阶乘代码,其中用户输入必须是大于零的整正数。否则,它将显示一条错误消息,要求用户输入大于零的整数。 我从以下代码开始:

System.out.print(“输入您的号码:”);
int number=sc.nextInt();

if(number似乎您为
number
if循环设置了错误的条件 As
if(数字0)
{

对于(count=1;count只需在对
nextInt()
的调用周围放置一个
try
块,如果引发异常,请告诉用户,如下所示:

int number = 0;
boolean ok = true;
try {
    number = sc.nextInt();
} catch (Exception ex) { //user did not enter a valid integer
    ok = false;
}

if (number>0 && ok) {
    //...
} else {
    System.out.println("Enter a positive whole number greater than 0");
}

“定义错误消息的整数”是什么意思?
nextInt
如果该数字不是
int
,则会引发错误。请反转if中的逻辑。将其更改为
if(number>0)
。此外,请处理
阶乘(0)的情况=1
。谢谢-我弄错了,但当用户输入数字(例如6.4或9.747)时,它仍然不起作用。如何更改整数的代码?您能定义一个整数吗?它是大于0还是大于或等于0@user2441860@user2441860:整数是一个整数。定义“整数”的含义,并解释缺失的内容,正如已经询问过的那样。当用户的输入是5,23而不是5时,我需要显示eeror消息。如果您输入除整数以外的任何内容,它将自动抛出Number formatException,并且您可以在catch块中打印类似内容。它在catch语句下加红色下划线。您正在捕获什么,在那里应该是catch语句中指定的异常,如果我错了,请更正。@Andrew SunSorry,我用C#编写程序,忘记了Java需要显式声明异常类型。现已修复。
int number = 0;
boolean ok = true;
try {
    number = sc.nextInt();
} catch (Exception ex) { //user did not enter a valid integer
    ok = false;
}

if (number>0 && ok) {
    //...
} else {
    System.out.println("Enter a positive whole number greater than 0");
}