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的阶乘等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)