黑马程序员技术交流社区

标题: for循环练习 [打印本页]

作者: bitwdh    时间: 2016-12-20 09:30
标题: for循环练习
1. 需求:求出1-10之间数据之和
            //定义第一个加数
                int sum = 0;
                for(int x=1; x<=10; x++) {
                        //这里的x其实是第二个加数
                        sum = sum + x;
                        //sum += x;  或者这样写,跟上面一样效果。
                }
                System.out.println("sum:"+sum);
        }
2. 需求:
                A:求1-100之和。
                B:求出1-100之间偶数和
                C:求出1-100之间奇数和
//求1-100之和。
                int sum=0;
                for(int i=1;i<=100;i++){
                        sum+=i;
                }
                System.out.println("1-100之和是:"+sum);
                System.out.println("------------------");
               
                //求出1-100之间偶数和
                //方式一:
                int sum1=0;
                for (int i = 0; i <=100; i++) {
                        if (i%2==0) {
                                sum1+=i;
                        }       
                }
                System.out.println("1-100之间偶数和是:"+sum1);
                System.out.println("----------------");
               
                //方式二:
            //求出1-100之间偶数和
                int sum2=0;
                for(int i=0;i<=100;i+=2){
                        sum2+=i;
                }
        System.out.println("1-100之间偶数和是:"+sum2);
        System.out.println("----------------");

        //求出1-100之间奇数和
        //方式一
        int  sum3=0;
        for(int i=0;i<=100;i++){
                if (i%2==1) {
                        sum3+=i;       
                        }
        }
        System.out.println("求出1-100之间奇数和是:"+sum3);
        System.out.println("-----------------");
        //求出1-100之间奇数和
        //方式二
        int sum4=0;
        for(int i=1;i<100;i+=2){
                sum4+=i;       
        }
        System.out.println("1-100之间奇数和是:"+sum4);

3. 需求:求5的阶乘。
       //定义结果变量
                //方式一:
                int sum=1;
                for(int i=1;i<=5;i++){
                        sum*=i;       
                }
                System.out.println("5的阶乘是:"+sum);
                System.out.println("-------------");
                //方式二
                int jc=1;
                for(int i=2;i<=5;i++){
                        jc*=i;       
                }
                System.out.println("5的阶乘是:"+jc);
4.需求:在控制台输出所有的”水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
                举例:153就是一个水仙花数。
                153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

          for(int x=100;x<1000;x++){
                        int ge =x%10;
                        int shi=x/10%10;
                        int bai=x/10/10%10;
                        //让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
                        if(x==ge*ge*ge+shi*shi*shi+bai*bai*bai){
                                //如果相等,就把该数据在控制台输出。
                                System.out.println(x);
                   }


作者: hold68    时间: 2016-12-20 09:44
谢谢分享!

作者: 明天会更好!!    时间: 2016-12-20 10:14
不用for循环,该怎么求出100-----1的倒序和

作者: cyifovou    时间: 2016-12-20 10:24
明天会更好!! 发表于 2016-12-20 10:14
不用for循环,该怎么求出100-----1的倒序和

用while也行啊,定义一个计数器,每次求和之后就加一,从100开始加,加到1,把计数器放在while循环体力做判断就可以了

作者: bitwdh    时间: 2016-12-20 10:28
明天会更好!! 发表于 2016-12-20 10:14
不用for循环,该怎么求出100-----1的倒序和

//用while循环操作
                //定义循环数次100次
                int i=100;
                //定义累加结果
                int sum=0;  
                while(i>=1){
                        sum+=i; //累加操作
                        i--;  //每循环一次,i就减少1
                }
                System.out.println("100到1的倒序和:"+sum);
作者: bitwdh    时间: 2016-12-20 10:30
明天会更好!! 发表于 2016-12-20 10:14
不用for循环,该怎么求出100-----1的倒序和

是要这样的效果吗?
作者: 明天会更好!!    时间: 2016-12-23 21:02
bitwdh 发表于 2016-12-20 10:28
//用while循环操作
                //定义循环数次100次
                int i=100;

谢谢!

作者: 袁志娜    时间: 2016-12-24 00:06

作者: Minking    时间: 2016-12-24 00:26
666,多学习





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2