JAVA:计算1+2+...+100的和以及m!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/YanXiaoJu17/article/details/78508331

import java.util.Scanner;
public class ff {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int sum=0,n=1,m=0; //进入while循环之前的变量必须初始化
long fct=1; //阶乘的成绩数据可能很大,所以声明为long型
do{
sum +=n;
n++;
}while(n<=100);
System.out.println(“sum=1+2+…+100=”+sum);
Scanner sc=new Scanner(System.in);
System.out.print(“请输入阶乘数:”);
m=sc.nextInt();
n=1; //注意此处给n重新赋值为1的重要性
do{
fct *=n;
n++;
}while(n<=m);
System.out.println(“fct=1*1*…*”+m+”=”+fct);

}

}
运行结果
这里写图片描述
算法分析
设置总和的变量用sum表示,控制循环的变量用n表示,阶乘数用m表示并初始化为1,三者均用整型数据;阶乘的成绩fct数据可能很大,所以声明为long型,并且初始量为1。由于使用n做控制循环的变量,当求和计算完成后,应该把循环变量重新赋值为1(即从1开始计算阶乘的乘积)。
知识点
do…while语句
1)定义:先执行循环体的语句序列,再检查条件,如果条件成立,则再次执行循环体的代码。
2)格式:do {
语句或语句序列
}
while(<条件表达式>);

展开阅读全文

没有更多推荐了,返回首页