百度
360搜索
搜狗搜索

java编程计算n的阶乘,Java 编写一个方法,求一个数的阶乘。 n!=1×2×3×...×n,比如3!=123=6?详细介绍

本文目录一览: java计算n的阶乘

int n=8;
int p=n;
for(int i=n;i>1;i--){
p*=i;
}
print("%d\n",p);

Java 编写一个方法,求一个数的阶乘。 n!=1×2×3×...×n,比如3!=123=6?

方法和分析见下文:
分析
1、确定基本要求,应作为方法的限定条件或特殊情况处理
(1)规定:0!=1
(2)规定:n!中n非负
2、确定逻辑:
阶乘是比较适合递归的思路,因为n!=n*(n-1)!,直到求解1!作为结束
代码(因为不太熟悉java,可能还需要题主进行微调)
long Factorials(int n)
{
if(n<0) return -1;//主要为了表示错误,题主可以自定义
if(n==1||n==0) return 1;//0!是特殊约定,1!是作为递归的结束
else return n*Factorials(n-1);//进行递归,求解阶乘结果
}
String str="输入一个数n,将计算zdn的阶乘";
str=JOptionPane.showInputDialog(null, str);
int n=Integer.parseInt(str);//获得内输入的数n并转成整数容
int s=1;//计算n的阶乘
for(int i=1;i<=n;i++)
{
s*=i;
}
JOptionPane.showMessageDialog(null, s+"", "n的阶乘", 1);

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

public class jiecheng{
public int jcsum(int n){
int sum=1;
while(n>=1){
sum=sum*n;
n--;
}
return sum;
}
public static void main(String[] args) {
jiecheng[] jc=new jiecheng[8];
for(int i=1;i
<jc.length;i++)
jc[i]=new jiecheng();

int sum=0,n=1;

for(;n
<jc.length;n++)
sum=sum+jc[n].jcsum(n);

System.out.println("阶乘之和 from 1 to 7 is"+" "+sum);

}

}

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); System.out.println(sum); } // 求阶乘方法,传入一个整数,返回这个整数的阶乘 public static int factorial(int num) { int result = 1; for(int i = 1;i<=num;i++){ result *= i; } return result; }}
</jc.length;n++)
</jc.length;i++)

编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。

import java.util.Scanner;
public class TestMax {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int x = input.nextInt();
try {
if (x > 20)
throw new Exception("数字过大,无法计算");
factorial(x);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
} finally {
System.out.println("Finish computing factorial number");
}
}
public static void factorial(int n) {
int all = 1;
for (int i = 1; i < n + 1; i++) {
all *= i;
}
System.out.println(all);
}
}
import java.util.*; public class T { public static void main(String[] args){ try{ Scanner input = new Scanner(System.in); String num = input.nextLine(); if(!num.match("[^0]\\d+$")) { throw new RuntimeException("输入的不是自然数"); } if(Long.parseLong(num) >20) { throw new RuntimeException("数字过大,无法计算"); } long result = factorial(Long.parseLong(num)); System.out.println(result); }catch(Exception e){ throw new RuntimeException(e); }finally{ System.out.println("Finish computing factorial number"); } } /**计算阶乘**/ public static long factorial(long n) { if(n==1) return 1 ; return n * factorial(n-1); } }

JAVA中怎么表示阶乘

import java.util.Scanner;
public class Page_144 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个数");
int sum=input.nextInt(); //用户输入的数字
int sum2=1; //保存i*i的数据
if(sum<=10) { //如果不大于等于10,进入循环
System.out.print(sum+"="); //输出前面用户输入的数字+=号(因为此语句不能循环所以写在循环外)
for(int i=1;i<=sum;i++) {
System.out.print(i+"*");
sum2=i*sum2;
}
System.out.println("="+sum2);
}else { //只要不是11以下,直接报错
System.out.println("请输入10以内的数");
}
}
}
再简单不过的问题了,这种问题用递归解决,对话框自己用SWING写,这里我给你写下算法:
public class Main {
public static long f(long num) {
if (1 == num) {
return 1;
}
return num * f(num - 1);
}
public static void main(String[] args) {
System.out.println(f(10));
}
}
class jie
{
public static void main(String args[])
{
long sum = 0;
int i;
for(i=1;i<=10;i++)
{
long ji = 1; //ji用来保存i的阶乘结果
int j;
for(j=1;j<=i;j++) //此循环用来求i的阶乘
{
ji *= j; //计算ji
}
sum += ji; //把每个ji的阶乘求和
}
System.out.println("结果是:"+sum);
}
}
int a= 5;
int tmp=5;
for (int i=1; i
<tmp;i++){
a=a*i;

}

System.out.println(a);

1、首先在电脑打开eclipse软件,创建Scanner对象。

2、然后输出信息,请求用户输入要输入计算的阶乘数。代码:System.out.println("请输入要计算的阶乘数:");

3、然后创建num接受键盘输入的信息。再创建n,sum。

4、然后创建for语句,进行计算阶乘。

5、然后在最后,输出所算的阶乘结果。代码:System.out.println(n+"的阶乘为"+sum);

6、然后再点击程序运行按钮。在下面的窗口就可以看到运行结果。
</tmp;i++){

阅读更多 >>>  java多线程例子,在Java 中多线程的实现方法有哪些,如何使用

java输入一个数n,计算n的阶乘(5的阶乘=12345)

import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
System.out.println("请输入你需要计算的数字:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int d = pp(i);
System.out.print(d);
}
public static int pp(int n) {
if (n < 2)
return 1 * n;
else
return n * pp(n - 1);
}
}
int pp(int n)
{
if(n<2)
return 1*n;
else
return n*pp(n-1);
}
这一段, 如果n大于2,返回n*pp(n-1)的意思,就是,任何一个N的阶乘等于n*比n小1的数的阶乘,打个比方,比如5的阶乘等于5*(4的阶乘),4的阶乘等于4*(3的阶乘),而1的阶乘,等于1本身。

在java中,用递归方法计算n的阶乘。

关键代码:public int fac(int n){ int f; if(n==0 || n==1) f=1; else f=n*fac(n-1);return f;}
public class fab{public static int f(int n ){ if(n==1){return 1;}else{return n*f(n-1);}}public static void main(String[] args){system.out.println(f(5));}}
用Java求键盘输入的数的阶乘n。(递归算法)packagejiecheng; importjava.util.*; //导入java.util包中的所有类classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;
elsi=n*rep(n-1) returni; } } publicclassJie { publicstaticvoidmain(String[] args) { intn; //此处定义要输入的数Scanner s = newScanner(System.in); //以下三行用于n的值得输入System.out.print( "请输入一个整数:"); n = s.nextInt(); rep f= newrep(); System.out.println(n+"!="+f.rep(n)); } }
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
发展历程:20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。
Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

用java编写计算N的阶乘

class Factorial{
private long sum;
Factorial(int x){
sum=1;
for(int n=1;n<=x;n++)
{
sum*=n;
}
}
public static void main(String[] args){
Factorial obj=new Factorial(3);
System.out.println("3的阶乘为:"+obj.sum);
}
}

java语言求n的阶乘

public class Jiecheng {
public static void main(String[] args) {
int res;
Scanner sc = new Scanner(System.in);
System.out.println("请输入N:");
int n = sc.nextInt();
res = jiecheng(n);
System.out.println(res);
}
static int jiecheng(int n) {
int i, j = 1;
for (i = 1; i <= n; i++) {
j = j * i;
}
return j;
}
}
你代码太乱,
for(int i=1;i<=n;i++){
System.out.printf("最后结果:%d",calcFactorial(n));
System.out.println();
之后少了一个}
return factorial;} 后面加个}
static long calcFactorial(int n) { if (n == 1) { return 1; } else { return n* calcFactorial(n - 1); }}
楼主,系统提示你少括号,让你插入一个括号在结束块,说的很明白啊
你在最后加个括号就没错啦...
public class example2 { static long calcFactorial(int n){ long factorial=1; if(n<1||n>20){ System.out.println("输入错误!"); } for(int i=n;i>=1;i--){ factorial*=i; } System.out.println("请输入不超过20的正整数n:"); for(int i=1;i<=n;i++){ System.out.printf("最后结果:%d",calcFactorial(n)); System.out.println(); return factorial; } public static void main(String[] args){} } //<-这个是 calcFactorial方法的结束括号,你类example2的结束括号呢?另外你这个方法能否运行起来?主函数应该写在class内,而不是calcFactorial方法内

网站数据信息

"java编程计算n的阶乘,Java 编写一个方法,求一个数的阶乘。 n!=1×2×3×...×n,比如3!=123=6?"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:java编程计算n的阶乘,Java 编写一个方法,求一个数的阶乘。 n!=1×2×3×...×n,比如3!=123=6?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!