求解释简单Java程序,题目是: 计算1+2!+3!+4!......从第10项到第20项之和

编写一个java程序,计算1+2!+3!+...从第10项到第20项的~

public class ZuoYe3_5 {
public static void main(String args[]) {
double sum=0,a=1; //a存储上次的阶乘结果
int i=1;
while(i<=20) { //可以在循环中判断 i 的值
if(i<10){//判断i的值
a=a*i;
i++;
contiune;
}
sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}

import java.math.BigInteger;public class Marik{public static void main(String[] args){BigInteger sum = BigInteger.valueOf(0);BigInteger zero = BigInteger.valueOf(0);BigInteger one = BigInteger.valueOf(1);for(int j = 20; j 0){bi = bi.multiply(i);i = i.subtract(one);}sum = sum.add(bi);}System.out.println(sum);}}

a是拿来计算第n项的,初始值设为1 ,因为后面要用乘法计算每一项。
第一项 i=1 a=a*i; 于是 a=1
第二项 i=2 a=a*i; 于是,a在1的基础上,乘以2
第三项 i=3 a=a*i; 于是,a在 1*2的基础上,再乘以3
第四项 i=4 a=a*i; 于是,a在 1*2*3的基础上,再乘以4
……
第九项 i=9 a=a*i; a=9!
第十项 i=10 a=10!
第十一项 i已经大于等于10 sum加上a的值,即10! i自增为11 计算a=11!
第十二项 i 大于等于10 sum再加上a的值,即11!i 自增为12 计算a=12!
……

阶乘的算法就是一个递归,a=a*i;
这个就是一个递归,前面是计算总和, sum=sum+a;
double sum=0,a=1;
这句话别这么用:应该为int sum=0,a=1;

其实你这样做结果是对的,但是按照题的思路 你这样做不妥,为什么?因为1+2!+3!+4!......
这个代表这是无限循环, 所以用无限循环来做这一题, 你确实把他固定在循环20项,这样会被扣分的, 我建议用无限循环,然后到了第20项break 跳出

j就是个简单的 循环语句啊 每次循环 从第十项开始到 20项结束

public class Test2
{
public static void main(String args[])
{
double sum=0,a=1;
int i=1;
while(i<=20)//因为求的最大数的是20的阶层
{
if(i>=10)//判断当从第十项开始相加
sum=sum+a;//如果是前9项这行代码不执行
i++;//跳到下一个数去
a=a*i;//计算i的阶层,因为i的阶层等于i-1的阶层乘以i
}
System.out.println("sum="+sum);
}
}

求解释简单Java程序,题目是: 计算1+2!+3!+4!...从第10项到第20项之和...
答:a是拿来计算第n项的,初始值设为1 ,因为后面要用乘法计算每一项。第一项 i=1 a=a*i; 于是 a=1 第二项 i=2 a=a*i; 于是,a在1的基础上,乘以2 第三项 i=3 a=a*i; 于是,a在 1*2的基础上,再乘以3 第四项 i=4 a=a*i; 于是,a在 1*2*3的基础上,...

求解释一个java程序,这个程序是求100以内的素数的。我没看懂这个条件怎...
答:自然数31,31/2算成整形是15。如果31不能被2~15之间的任何一个自然数整除,那么判断31能否被16整除就没有意义了,因为如果能整除,最后的商必须大于等于2,而35除以16~30之间的任何一个自然数商都小于2。所以31是素数。

java 编程题集
答:1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。1.程序分析:请抓住分子与分母的变化规律。【程序21】题目:求1+...

几道JAVA题目,求好心人给下答案,感激不尽
答:1、public static void main(String[] args)2、public finall static 3、3 4、抽象类 5、implements 6、类:一个包含属性、方法,使用class关键字定义 对象:创建对象必须使用new关键字,对象其实在内存中存储的是类的引用地址。7、try是可能发生异常的内容;catch是发生异常后要处理的代码;finally是...

求高手帮解答一下! 一个简单的Java程序,题目如下:读入两个运算符(da...
答:import java.util.Scanner;public class test { static int data1 = 0;static int data2 = 0;public static void main(String[] args) { // TODO Auto-generated method stub getResult( data1,data2);} public static double getResult(int num1,int num2){ Scanner sn = new Scanner(...

一道简单的有关数组的Java程序题,请高手前辈们帮忙查看一下代码,谢谢...
答:一道简单的有关数组的Java程序题,请高手前辈们帮忙查看一下代码,谢谢! 题目:编写一个工具类,该工具类内包含一个数组属性,可以调用该工具类的add()方法向该工具类中的数组里添加元素,添加的元素可以是任意类型,调用get(下标)方法可以取出某个元素,调... 题目:编写一个工具类,该工具类内包含一个数组属性,可以...

java初学者题目,求详细解答
答:import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Random;public class TestNumber { private A a; public void setA(A a) { this.a = a; } public A getA() { return a; } public boolean judge(int num) { if (a.getV()...

JAVA编程的几个简单题目
答:JAVA编程的几个简单题目 (1)编程验证对任意一个大于1的自然数,对其进行一系列的变换,法则如下:若这个自然数N不是素数,则把它分解成素因子的连积乘,然后将这些因子相加,并在其和数上再加1,记其结果为...(1)编程验证对任意一个大于1的自然数,对其进行一系列的变换,法则如下:若这个自然数N不是素数,则把它...

这道题为Java的题目,寻求解答
答:public interface TuXing { public double getArea();} public class Trangle implements TuXing { private double a; // 三角形的边长a private double b; // 三角形的边长b private double c; // 三角形的边长c public Trangle(double a, double b, double c) { this.a = a;this.b...

java编程题 本人新手,求详解。
答:/ 学生类 author 逍遥 / public class Student { //学号 private int sId;//姓名 private String sName;//数学成绩 private double mathScore;//计算机成绩 private double computerScore;/ 获取学号 return / public int getsId() { return sId;} / 设置学号 param sId / public void setsId(...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网