标签:Factorial System long 阶乘 now public out
//计算指定数据的阶乘。
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
//向用户声明。
System.out.println("仅支持0~20以内的整数的阶乘。\n输入数据:");
//接收键盘数据。
Scanner s=new Scanner(System.in);
//if语句判断输入的内容,避免在内容不合法时程序无法运行。
if(!(s.hasNextLong())) {
System.out.println("数据不合法。");
return;
}
//把键盘数据赋值给data。
long data=s.nextLong();
//调用方法。
Factorial.function(data);
}
//运算方法。
public static long function(long a) {
//判断形参是否没有超出范围以决定是否结束。
if(a>20 || a<0) {
System.out.println("数据超出范围,结束运算。");
//结束方法。
return 0;
}
//当形参是特别的0时,直接输出0!=1。
if(a==0) {
Factorial.out(0,1);
//结束方法。
return 0;
}
//定义一个负责实时记录的变量与一个a的备份以免改变a。
long now=1,b=a;
//用for语句遍历每一个比形参小的非1正整数。
for(;b!=1;b--){
now=now*b;
}
//调用输出方法。
Factorial.out(a,now);
//结束方法。
return 0;
}
//输出方法。
public static void out(long a,long b) {
System.out.println(a+"!="+b);
}
}
标签:Factorial,System,long,阶乘,now,public,out 来源: https://blog.csdn.net/qq_58770940/article/details/120577369
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。