用JAVA 编程方法“ 求出1~10的阶乘”

用JAVA 编程方法“ 求出1~10的阶乘”,第1张

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)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10093120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存