美文网首页
一、循环

一、循环

作者: 圣贤与无赖 | 来源:发表于2018-08-19 19:18 被阅读1次

    一、编写程序求 1+3+5+7+……+99 的和值。

    题目分析:

    通过观察发现,本题目要实现的奇数(范围1-100之间)的累加和。

    为了记录累加和的值,我们需要定义一个存储累加和的变量

    我们要获取到1-100范围内的数

    判断当前数是否为奇数,是奇数,完成累加和操作

    累加完毕后,最终显示下累加和的值

    解题步骤:

    1. 定义一个用来记录累加和的变量

    2. 使用for循环语句,完成1-100之间每个数的获取

    3.使用if条件语句,判断当前数是否是奇数,是奇数,进行累加和操作

    4.  使用输出语句,打印累加和变量的值

    代码如下:

    public class Test01 {

       public staticvoid main(String[] args) {

          int sum = 0;

          for (int i = 0; i < 100; i++) {

            if (i%2==1) {

               sum += i;

            }

          }

          System.out.println("累加和的值 " + sum);

       }

    }

    二、输出所有的水仙花数

    所谓水仙花数是指一个数3位数,其每位数字立方和等于其本身,如153 = 1*1*1 + 3*3*3 + 5*5*5

    153 % 10 = 3  //个位

    153 / 10 % 10 = 5 //十位153 / 10 = 15, 15%10 = 5。

    153 / 100 = 1//百位

    题目分析:

    通过观察发现,本题目要实现打印符合要求的数字(即水仙花数)。

    1. 明确什么样的数就是水仙花数。水仙花数是指一个3位数(100-999之间),其每位数字立方之和等于该3位数本身。如153 = 1*1*1 + 3*3*3 + 5*5*5,

    即 3位数本身 = 百位数立方 + 十位数立方 + 个位数立方;

    2. 获取水仙花范围内的所有3位数(100-999之间的每个3位数)

    3. 判断该3位数是否满足水仙花数,满足,打印该3位数

    解题步骤:

    1. 使用for循环,得到100-999之间的每个3位数

    2. 获取3位数中百位数字、十位数字、个位数字

    3. 使用if条件语句,判断该3位数是否满足水仙花数,满足,使用输出语句,打印该3位数

    代码如下:

    public class Test02 {

       public staticvoid main(String[] args) {

          for (int i = 100; i < 1000; i++) {

            int bai = i/100;

            int shi = i/10%10;

            int ge = i%10;

            if (i == bai*bai*bai + shi*shi*shi + ge*ge*ge) {

               System.out.println(i);

            }

          }

       }

    }

    三、for循环打印ABCDEFG...XYZ,26个大写字母与26个小写字母

    题目分析:

    通过观察发现,本题目要实现打印26个大写字母、26个小写字母

    1. 一共26个大小写字母,那么,可以考虑循环26次。在每次循环中,完成指定字母的大小写打印

    2. 找出ABCDEFG…XYZ这些字母之间的变化规律

    通过ASCII表发现,后面的字母比它前面的字母,ASCII值大1

    下一个字母 = 上一个字母+ 1

    如:A  B   C   D

        65  66  67  68

    3.在每次循环中打印上一个字母大小写,并指定下一个字母

    解题步骤:

    1.定义初始化大写变量,值为’A’; 初始化小写变量,值为’a’

    2. 使用for循环,进行26次循环

    3. 在每次循环中,打印大写字母、小写字母。

    每次打印完成后,更新大写字母值、小写字母值

    代码如下:

    public class Test04 {

       public staticvoid main(String[] args) {

          char da = 'A';

          char xiao = 'a';

          for (int i = 0; i < 26; i++) {

            System.out.println("大写字母 "+da+" ,小写字母 "+xiao);

            da++; //更新大写字母值

            xiao++; //更新小写字母值

          }

       }

    }

    四、利用for循环打印 9*9 乘法表

    如:

                 1*1=1

                  1*2=2  2*2=4

                  1*3=3  2*3=6 3*3=9

                  ….

    解题步骤:

    1. 定义一个外层for循环,初始值从1开始,循环9次。用来控制打印的行数

    2. 在外层for循环内部,定义一个for循环,初始值从1开始,循环次数与当前行数相等。用来完成每行打印指定次数的乘法公式 如1*1=1

    3.在内层for循环中,完成每行指定次数的乘法公式打印 如1*1=1

    System.out.print(k+"*"+j+"="+j*k+"\t");

    // 变量k代表:每行中的第n次

    // 变量j代表:行号

    4. 在外循环中,当每行指定次数的乘法公式打印完毕后,通过System.out.println()切换到下一行。这样,再次打印乘法公式时,就在下一行输出打印了

    代码如下:

    public class Test05 {

       public staticvoid main(String[] args) {

          for (int j = 1; j < 10; j++) {

            for (int k = 1; k <= j; k++) {

               System.out.print(k +"*"+ j +"="+ j*k +"\t");

            }

            System.out.println();

          }

       }

    }

    相关文章

      网友评论

          本文标题:一、循环

          本文链接:https://www.haomeiwen.com/subject/rybciftx.html