import javax.swing.*;//这相当于是从键盘输入的包类
public class FactorialTest {
public static void main (String args[])
{
int n; // 从键盘输入一个整数
String s=(String)JOptionPane.showInputDialog(null,"请输入一个整数","1到n的阶乘",
JOptionPane.PLAIN_MESSAGE,null,null,null);
n=Integer.parseInt(s);
long i=1,j=1,k=1;//long型可以算到2^63-1
while (j<=n)//条件
{
k=k*j;//k=1,j=1,k*j=1,把1赋给k值,然后循环
System.out.println(j+"!="+k);//输出从键盘输入的数的阶乘
j++;//循环
}
}
}
import javax.swing.*;
public class FactorialTest2 {
public static void main (String args[])
{
int n;
String s=(String)JOptionPane.showInputDialog(null,"请输入整数n","1到n的阶乘",
JOptionPane.PLAIN_MESSAGE,null,null,null);
n=Integer.parseInt(s);
{
long i,j,k;
for(i=1,j=1,k=1;j<=n;j++)
{
k*=j;
}
System.out.println(n+"!="+k);
}
}
}
import javax.swing.*;
/**
*这是计算n的阶乘
*通过了do...while来实现
* @author jie
*
*/
public class FactorialTest {
public static void main (String args[])
{
int n;
String s=(String)JOptionPane.showInputDialog(null,"请输入整数n","1到n的阶乘",
JOptionPane.PLAIN_MESSAGE,null,null,null);
n=Integer.parseInt(s);//有人不明白这是什么来的,这相当于一种固定的语法结构,我是这样理解的,记住就行
{
int i=1,j=1,k=1;//int型只要2^31—1个数
do
{
k*=j;
j++;//循环体结构
}while(j<=n);//条件判断
System.out.println(n+"!="+k);
}
}
}