java 设计输入一个自然数n_求 _同时统计结果中有多少个0._求阶乘有几个0_实验报告...

实验报告

题目二

R019M:输入一个自然数n,求n!,同时统计结果中有多少个0。

1、问题分析。

由题意得,程序应该分为主要的3大步:

1.由用户输入数字,必须是自然数,否则无法计算。

2.对用户输入的自然数n进行阶乘计算。

3.对计算结果统计,统计有多少0

对于第一步,我们可以设置一个条件语句进行判断,当用户输入非自然数时,系统将不对此数进行阶乘计算。

对于第二步的阶乘,我们可以通过循环来实现。

对于第三步,我们可以调用charAt(Position)实现,由于此方法只对字符串可用,我们应先将第二步的运算结果转化为字符串,设置一个跟踪变量,当charAt(Position)为0时,跟踪变量记录。

2、设计方案

由问题分析构建程序:

1.用户输入数字;

2.对用户输入数字进行判断,当对数字去整,与原数相减结果不为零(即数字小数点后有数字)或者当数字小于零时,系统输出此数字非自然数,要求用户重新给变量赋值。

3.当数字为自然数时,设计一个循环,使count=自然数,每一次循环count-1,令result=1,result=result*count;

4.循环结束,result的值便是n!的计算结果,但是result的是int型变量,需要转换为string型变量,此时将result后面加上“”,空格不代表任何意义,即可将int型变量转换为字符串(string)型;

5.建立跟踪变量pointer=0,设计循环,令i=0,在i小于字符串的长度(a.length())情况下,每次循环,i+1,判断charAt(i)处的字符是否等于0,当第i处字符等于零时,跟踪变量+1;

6.输出跟踪变量,pointer即表示运算结果中有几个“0”;

7.设计友好的输入输出界面,提示用户进行输入操作,并对系统输出的结果进行解释。

8.寻找检查程序中的BUG。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值