Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和

Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和,第1张

Java编程:写出求n的阶乘方法,并算出1到7的阶乘的和方法:

先编写求阶乘的方法,再通过for循环计算1到7的阶乘的和。

具体实现:

public class Test {

 public static void main(String[] args) {

  int sum = 0;  //保存阶乘的和

  for(int i = 1;i<=7;i++)

   sum += factorial(i);

  Systemoutprintln(sum);

 }

 // 求阶乘方法,传入一个整数,返回这个整数的阶乘

 public static int factorial(int num) {

  int result = 1;

  for(int i = 1;i<=num;i++){

   result = i;

  }

  return result;

 }

}

楼主,系统提示你少括号,让你插入一个括号在结束块,说的很明白啊

你在最后加个括号就没错啦

public class example2 {

    static long calcFactorial(int n){

        long factorial=1;

        if(n<1||n>20){

            Systemoutprintln("输入错误!");

        }

        for(int i=n;i>=1;i--){

            factorial=i;

        }

        Systemoutprintln("请输入不超过20的正整数n:");

        for(int i=1;i<=n;i++){

            Systemoutprintf("最后结果:%d",calcFactorial(n));

            Systemoutprintln();

            return factorial;

        } 

        public static void main(String[] args){}

    } //<-这个是 calcFactorial方法的结束括号,你类example2的结束括号呢?

另外你这个方法能否运行起来?主函数应该写在class内,而不是calcFactorial方法内

public class Myjiecheng {

public static void main(String[] args) {

String s=JOptionPaneshowInputDialog("请输入你要求几的阶乘:");

if(s!=null && slength()>0){

try{

int n=IntegerparseInt(s);

int sum=1;

for(int i=1;i<=n;i++){

sum=sumi;

}

JOptionPaneshowMessageDialog(null, n+"的阶乘是"+sum);

}catch(Exception e){

JOptionPaneshowMessageDialog(null, "输入的不是数字");

}

}

}

按照你的要求编写的求阶乘的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

1、首先要理解一下阶乘的公式:

n! =n(n-1)(n-2)21,    5! = 54321

#include           //头文件stdioh在新浪博客中无法显示加上就可以了

int main()

{

int t=5,i=4;   //要是求其他的数的阶乘的话,把t的值改为其他数,

//再把i改为(t-1)就行了

while(i>=1)

{

t=ti;

i--;

}

printf("5的阶乘结果是:%d\n",t);

return 0;

}

2、运行结果如下:

3、上面这种方法虽然能求出结果,但是不能求任意的数,也没有考虑到0!=1,这种情况,我们来改进一下;

#include                      // //头文件stdioh在新浪博客中无法显示加上就可以了

int main()

{

int n,jc;

int jiecheng(int j);

printf("请输入任意一个整数\n");

scanf("%d",&n);

jc=jiecheng(n);

printf("该数的阶乘结果是:%d\n",jc);

return 0;

}

int jiecheng(int j)

{

int i=j-1;

if(j==0 | j==1)  // 因为0的阶乘是1 ,1的阶乘也是1

j=1;

while(i>1)       //

{

j=ji;

i--;

}

return(j);

}

4、运行结果如下:

import javautilScanner;

public class A{

//下面的方法是对单个数求阶乘,并返回

public static int jieCheng(int n){

int sum=1;

for(int i=1;i<=n;i++){

sum=i;

}

return sum;

}

//下面是对所有数求阶乘,再全部相加,并返回

public static int add(int n){

int sum=0;

for(int i=1;i<=n;i++){

sum+=jieCheng(i); //调用上面的方法,对单个求阶乘,再全部相加

}

return sum;

}

public static void main(String[] args){

Scanner input=new Scanner(Systemin);

Systemoutprintln("请输入数字:");

int n=inputnextInt();

Systemoutprintln("运算得到:"+add(n));

}

}

//总结:此题有个特点,n等于要相加的数字的总数,也等于要求阶乘的最大数

java中可以用for循环来实现阶层。

代码如下:

public class Demo {

public static void main(String[] args) {

for(int i=1;i<5;i++){

int sum = 1;//定义一个用来存储阶层的值

for(int j=1;j<=i;j++){//实现阶层的循环

sum = j;

}

Systemoutprintln(i+"的阶层是:"+sum);

}

}

}

for循环中的变量从1开始,循环遍历到阶层本身的这个数,通过一个变量来记录上一个数的乘积即可。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

以上就是关于Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和全部的内容,包括:Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和、java语言求n的阶乘、请教高手:java编程求n的阶乘等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/10131485.html

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

发表评论

登录后才能评论

评论列表(0条)

保存