import javaxswing;
import javamathBigInteger;
public class JieCheng extends JFrame {
/
@author Min Shakes
/
private JTextArea output;
private BigInteger cal(String input){ //计算方法cal
BigInteger result=BigIntegerONE;
BigInteger max=new BigInteger(input);
for(BigInteger i=BigIntegerONE;maxcompareTo(i)!=-1;i=iadd(BigIntegerONE))
result=resultmultiply(i);
return result;
}
public JieCheng(){ //constructor
super("阶乘计算器");
output=new JTextArea();
outputsetLineWrap(true); //设置JTextArea自动换行
outputsetWrapStyleWord(true);
JScrollPane out=new JScrollPane(output);
getContentPane()add(out);
setSize(400,300);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
String input=JOptionPaneshowInputDialog("请输入您要求阶乘的数:");
JieCheng app=new JieCheng();
appoutputsetText(input+"!="+appcal(input));
appsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
catch(Exception e){
Systemexit(0);
}
}
}
按照你的要求编写的求阶乘的Java程序如下<pre t="code" l="java">import javautilScanner;
public class DDD {
public static void main(String[] args) {
Systemoutprint("请输入一个正整数(1~10)");
Scanner sc=new Scanner(Systemin);
int n=scnextInt();
if(n<1 || n>10){
Systemoutprintln("无效数据!");
return;
}
Systemoutprint(n+"!=");
int result=1;
for(int i=1;i<=n;i++){
result=resulti;
if(i==n)
Systemoutprint(i+"=");
else
Systemoutprint(i+"x");
}
Systemoutprint(result);
}
}运行结果请输入一个正整数(1~10)4
4!=1x2x3x4=24
public class Sa {
/
计算10的阶乘
/
public static void main(String[] args) {
//定义变量sum并且设定他的初始值为1
int sum=1;
//循环
for(int i=1;i<=10;i++){
//让sum等于每次阶乘后的值
sum=sumi;
//输出显示sum
Systemoutprintln("sum!="+sum);
}
}
}
前面的几个有的写的有问题~楼主别被误导~有的写的也非常复杂~我也是新人所以就只用我学过的一点东西写的~非常简单~如果楼主以后想交流类似问题可以找我~我QQ463961094
按照你的要求编写的求阶乘的Java程序如下 \x0d\import javautilScanner;\x0d\public class DDD {\x0d\public static void main(String[] args) {\x0d\Systemoutprint("请输入一个正整数(1~10)");\x0d\Scanner sc=new Scanner(Systemin);\x0d\int n=scnextInt();\x0d\if(n10){\x0d\Systemoutprintln("无效数据!");\x0d\return;\x0d\}\x0d\Systemoutprint(n+"!=");\x0d\int result=1;\x0d\for(int i=1;i回答于 2022-11-16
public static void main(String[] args) {
int sum = 0;
int subSum = 1;
for (int i = 1; i <= 20; i++) {
subSum = i;
Systemoutprintln(i + "的阶乘: " + subSum);
sum += subSum;
}
Systemoutprintln("总和为: " + sum);
}
运行结果:
1的阶乘: 1
2的阶乘: 2
3的阶乘: 6
4的阶乘: 24
5的阶乘: 120
6的阶乘: 720
7的阶乘: 5040
8的阶乘: 40320
9的阶乘: 362880
10的阶乘: 3628800
11的阶乘: 39916800
12的阶乘: 479001600
13的阶乘: 1932053504
14的阶乘: 1278945280
15的阶乘: 2004310016
16的阶乘: 2004189184
17的阶乘: -288522240
18的阶乘: -898433024
19的阶乘: 109641728
20的阶乘: -2102132736
总和为: 268040729
请注意,从 "17的阶乘: -288522240" 开始,后面阶乘已经超出整数最值了,所以需要改成使用long类型来保存
正确程序如下:
public static void main(String[] args) {
long sum = 0;
long subSum = 1;
for (long i = 1; i <= 20; i++) {
subSum = i;
Systemoutprintln(i + "的阶乘: " + subSum);
sum += subSum;
}
Systemoutprintln("总和为: " + sum);
}
正确程序结果:
1的阶乘: 1
2的阶乘: 2
3的阶乘: 6
4的阶乘: 24
5的阶乘: 120
6的阶乘: 720
7的阶乘: 5040
8的阶乘: 40320
9的阶乘: 362880
10的阶乘: 3628800
11的阶乘: 39916800
12的阶乘: 479001600
13的阶乘: 6227020800
14的阶乘: 87178291200
15的阶乘: 1307674368000
16的阶乘: 20922789888000
17的阶乘: 355687428096000
18的阶乘: 6402373705728000
19的阶乘: 121645100408832000
20的阶乘: 2432902008176640000
总和为: 2561327494111820313
以上就是关于用JAVA 编程方法“ 求出1~10的阶乘”全部的内容,包括:用JAVA 编程方法“ 求出1~10的阶乘”、编写Java程序,实现接受用户输入的正整数,输出该数的阶乘。例如,输、怎么写出10的阶乘的程序(JAVA)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)