import java.util.*;
class Factorial{
void factNum(int n){
int fact=1;
ArrayList<Integer> al=new ArrayList<Integer>();
for(int i=1;fact<=n;i++){
fact=fact*i;
al.add(i);
if(fact==n){
for(int j:al){
System.out.print(+j);
}}
}
}
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
Factorial f=new Factorial();
System.out.println("Enter the Integer");
int num=scan.nextInt();
f.factNum(num);
}
}
私はこのコードを書いて、私が階乗である24を入力すると、私は出力として1 2 3 4を得るでしょう。入力23は偽として出力されるはずです。私のコードはほぼ正しいですが、問題は、階乗シリーズに属していない番号を入力すると、私は出力としてFalseを取得していないことです。どうかこのコードで私はSystem.out.print( "False")を保つことができます誰でも助けてください。ステートメント。数値を入力し、その階乗番号が出力されれば階乗系列else else false
'factNum()'の結果を表示しません。 'factNum()' *に 'ArrayList'を返します。返された結果に要素がある場合は、それらを出力します。もしそうでなければ、 '' False ''を出力します。 –
David
あなたは、達成しようとしていることを人々がより理解しやすくするために、プログラムをより良くフォーマットしようとするべきです。 –