zoukankan      html  css  js  c++  java
  • 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    本文知识点:通过案例练习嵌套循环应用

    案例练习——阶乘的累加和

    案例题目:
    mark

    问题核心解决思路:
    2种运算,并且每种运算都是连续算很多次的。连续算很多次,我们考虑用循环;2种运算,我们考虑用嵌套循环。

    具体的解决:
    1、用外重循环做和的运算
    2、用内重循环做阶乘的运算

    程序代码及其执行结果:
    mark

    以上程序代码计算结果有问题?问题何在?
    mark
    问题出在:内重循环中的存放阶乘计算结果的s,没有重新赋值为1。导致第二轮之后的每一轮,执行内重循环时,s的值随着前面运算已经增加,产生了错误。

    所以,解决方案很简单,对s重置为1
    修改后的程序代码及其执行结果:完全无误
    mark

    分析整个嵌套for循环的详细执行路程

    注意点:
    1、内重循环中的表达式2:j<=i
    2、存放阶乘计算结果的变量s。要在外部循环中重置为1,才能确保每轮内重循环执行过程中,s有效无误。

    求10的阶乘

    程序执行结果无误
    mark

    求50的阶乘——int范围问题

    mark
    结果是负数,为什么?
    因为结果的表示范围已经超出了int类型的表示范围了。所以发生了数据溢出,得到的结果就是一个负值了。

    数据过大溢出怎么解决?改用long类型
    mark

    改用long类型之后还是溢出怎么办?
    mark

    Java中提供了处理大数据的类,可以使用。我们后面会学习。

  • 相关阅读:
    逆波兰表达式解数学运算(c#)
    杂文
    WebDriverExtensionsByC#
    cookie使用
    Discuz
    重构中学习
    生活知识
    js和 jquery对象
    jquery中is的用法
    html下select追加元素,IE下错误
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/13687639.html
Copyright © 2011-2022 走看看