您好我正在为课程做一些工作。所以我做了这个代码。但是,如何在x number is < 0
时停止返回号码?
public class Factorial {
public Factorial() {
System.out.print(new C1().computeFac(10));
}
/** First addicional class **/
private class C1 {
/** Fields **/
private int a,result = 1;
/** Method **/
public int computeFac(int input) {
if (input < 0) {
System.out.print(new C2().printError(0));
} else {
for ( a = 1 ; a <= input ; a++ )
result = result*a;
return (result);
}
return (result);
}
}
/** Second Addicional class **/
private class C2 {
/** Fields **/
String errosArray[] = {"Negative numbers are not aceptable! \nPlease try again!\n"};
public String printError(int a) {
return errosArray[a];
}
}
/** Main Method **/
public static void main(String [ ] args) {
Factorial factorial = new Factorial();
}
}
答案 0 :(得分:3)
通常的做法是在此时抛出异常。所以你的代码看起来像是:
public int computeFac(int input) {
if (input < 0) {
throw new IllegalArgumentException("Negative numbers are not allowed");
}
for ( a = 1 ; a <= input ; a++ ) {
result = result*a;
}
return result;
}
另外,请注意,总是使用大括号来表示循环和条件,这是一个好主意,即使它们只有一行。