import java.util.*;
public class factorial {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("Enter a number");
int n=sc.nextInt();
long fact=1;
System.out.println("Calculations: ");
for(long i=1;i<=n;i++)
{
fact=fact*i;
System.out.print(i+" ");
System.out.print("*");
}
System.out.print("\nThe factorial is: "+fact);
}
}
这是我的阶乘程序代码,当我打印此代码时..我得到了类似的内容输入一个数字4计算:1 * 2 * 3 * 4 *阶乘为:24
谁能告诉我如何从输出中删除该额外的“ *”
for(long i=1;i<=n;i++) {
fact=fact*i;
System.out.print(i+" ");
if(i!=n)
System.out.print("*");
}
一个无权访问System.out行缓冲区,因此解决方案必须是:
for (long i = 1; i <= n; i++) {
if (i != 1) {
System.out.print(" * ");
}
fact *= i;
System.out.print(i);
}
System.out.println();
更新后的代码-
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter a number");
int n=sc.nextInt();
long fact=1;
System.out.println("Calculations: ");
for(long i=1;i<=n;i++)
{
fact=fact*i;
System.out.print(i+" ");
if(i!=n)
System.out.print("*");
}
System.out.print("\nThe factorial is: "+fact);
}