请帮我解释一下这段代码好吗
import java.util.Scanner;
/**
* 编写JAVA程序,实现接收用户输入的正整数,输出该数的阶乘
要求:限制输入的数据在1-10之间,无效数据进行提示,结束程序
输出结果如:4!=1*2*3*4=24
*/
public class FactDemo {
/**
* @param args
*/
public static void main(String[] args) {
//定义变量接收用户输入,计算阶乘,累计表达式
int number,fact=1;
String msg="";
Scanner input=new Scanner(System.in);
//提醒输入
System.out.println("请输入一个10以内的正整数:");
number=input.nextInt();
//验证有效性
if(number>10 || number<1){
System.out.println("数据无效");
return;
}
System.out.print(number+"!=");
//计算阶乘
for(int i=1;i<number;i++){
msg+=i+"*";
fact*=i;
}
//组合结果,并显示
fact*=number;
msg+=number+"="+fact;
System.out.println(msg);
}[/color]
}
从for后面,fact和msg为什么可以等两次啊?
[解决办法]
如需要阅读该回复,请登录或注册CSDN!