Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅使用for循环来构建列出一系列阶乘的代码?_Java_Loops_For Loop - Fatal编程技术网

Java 如何仅使用for循环来构建列出一系列阶乘的代码?

Java 如何仅使用for循环来构建列出一系列阶乘的代码?,java,loops,for-loop,Java,Loops,For Loop,我对Java比较陌生,因为我目前正在研究如何使用for循环。如何严格使用for循环对连续的阶乘字符串进行编码?例如,我想在一个字符串中编码多达5个阶乘-我的问题是我的代码只打印出1个阶乘 输入: int b = 1; int a = 1; for(int c = 1; c <= b; c++) { a = a * c; } System.out.print(a); } intb=1; INTA=1; for(int c=1;

我对Java比较陌生,因为我目前正在研究如何使用for循环。如何严格使用for循环对连续的阶乘字符串进行编码?例如,我想在一个字符串中编码多达5个阶乘-我的问题是我的代码只打印出1个阶乘

输入:

    int b = 1;
    int a = 1;
    for(int c = 1; c <= b; c++)
    {
        a = a * c;
    }
    System.out.print(a);
}
intb=1;
INTA=1;

for(int c=1;c您需要将print语句放入for循环中

int b = 5;
int a = 1;
for (int c = 1; c <= b; c++) {
    a = a * c;
    System.out.print(a + " ");
}
void findFactorial(int n){
    int fact=1;
    StringBuilder sb = new StringBuilder();
    sb.append(1+" ");
    for(int i=2;i<=n;i++){
       fact=fact*i;
       sb.append(fact+" ");
    }
    System.out.println(sb.toString());
}
intb=5;
INTA=1;

为了(int c=1;c在计算时打印每个阶乘,请将print语句移动到循环中:


for(int c=1;c如果您想打印从1到n的阶乘,那么很明显,您需要迭代这些编号中的每一个,然后对这些编号中的每一个进行迭代。您可以调用一个单独的函数来计算其阶乘。这样,代码将更加简单和模块化

这里n=5

void findFactorials(int n){
     for(int i=1;i<=n:i++) {
          System.out.println(findFactorialOfI(i)+” “)
     }
}
int findFactorialOfI(int x){
     int fact=1;
     for(int i=x:i>=1;i—){
         fact=fact*i:
     }
     return fact;
}
void findFactorials(int n){
对于(int i=1;i=1;i-){
事实=事实*i:
}
返回事实;
}
如果您需要将结果存储到字符串中,那么不要直接在那里打印它,而是使用下面的字符串生成器并将其保留在一个空空间中,它将返回的整数转换为字符串,并在每个阶乘结果之间引入一个空格

StringBuilder sb = new StringBuilder();
for(int i=1;i<=n:i++) {
    sb.append(findFactorialOfI(i)+” “);
}
System.out.println(sb.toString());
StringBuilder sb=新建StringBuilder();

for(int i=1;ii如果要多次打印,那么为什么打印语句在
for
循环之外?