程序输入一个数,如果是阶乘数,则输出阶乘级数,否则为false import java.util.*; 类阶乘{ 无效事实编号(整数n){ int-fact=1; ArrayList al=新的ArrayList(); 对于(inti=1;fact
,您可以使用下面代码中所示的标志值来跟踪数字是否为阶乘程序输入一个数,如果是阶乘数,则输出阶乘级数,否则为false import java.util.*; 类阶乘{ 无效事实编号(整数n){ int-fact=1; ArrayList al=新的ArrayList(); 对于(inti=1;fact,java,Java,,您可以使用下面代码中所示的标志值来跟踪数字是否为阶乘 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++){
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);
}
}
publicstaticvoidfactnum(intn){
int-fact=1;
ArrayList al=新的ArrayList();
布尔标志=假;
对于(int i=1;fact您不会在任何地方打印“False”。保留一个布尔标志以检查给定的数字是否为阶乘,并相应地打印
public static void factNum(int n) {
int fact = 1;
ArrayList<Integer> al = new ArrayList<Integer>();
boolean flag = false;
for (int i = 1; fact <= n; i++) {
fact = fact * i;
al.add(i);
if (fact == n) {
flag = true;
for (int j : al) {
System.out.print(+j);
}
}
}
if(!flag)
System.out.println("false");
}
void factNum(int n){
int-fact=1;
布尔标志=真;
ArrayList al=新的ArrayList();
对于(inti=1;fact请尝试以下代码
void factNum(int n){
int fact=1;
boolean flag = true;
ArrayList<Integer> al=new ArrayList<Integer>();
for(int i=1;fact<=n;i++){
fact=fact*i;
al.add(i);
if(fact==n){
flag = false;//if factorial then make it false
for(int j:al){
System.out.print(+j);
}}
}
if(flag)
System.out.println("False");
}
void factNum(int n){
int-fact=1;
ArrayList al=新的ArrayList();
整数检查=0;
对于(int i=1;事实n&&check==0)
{
System.out.println(“假”);
}
}
}
不要打印来自factNum()
的结果。让factNum()
返回ArrayList
。如果返回的结果包含元素,则打印它们。如果没有,则打印“False”
。您应该尝试更好地格式化程序,使人们更容易理解您试图实现的目标。
void factNum(int n) {
int fact = 1;
ArrayList<Integer> al = new ArrayList<Integer>();
int check = 0;
for (int i = 1; fact <= n; i++) {
fact = fact * i;
al.add(i);
if (fact == n) {
for (int j : al) {
System.out.print(+j);
check = 1;
}
}
else if (fact>n && check == 0)
{
System.out.println("False");
}
}
}