A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

需求:计算1到100的和。不能用for、while、do while、loop等语句,只能用条件句if。代码不能超过10行,可以用一切办法。输出每一个累加的结果以及最终结果。


8 个回复

倒序浏览
递归咯。其实不另类。递归是计算机科学中的基本概念和思想
回复 使用道具 举报
fantacyleo 发表于 2015-4-7 15:18
递归咯。其实不另类。递归是计算机科学中的基本概念和思想

是吗,额,因为看到没用循环,所以觉得,很神奇
回复 使用道具 举报
试了哈,就是这样了
  1. public class Demo1 {

  2.         public static void main(String[] args) {
  3.                 System.out.println(getSum(1,100));
  4.                        
  5.         }
  6.         public        static  int getSum(int start,int end){
  7.                 int sum=0;
  8.                 sum+=start;
  9.                 start++;
  10.                 return start<=end?getSum(start,end)+sum:sum;
  11.                
  12.         }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
我的想法是:public class Test10{  
        public static void main(String[] args){
          System.out.println("计算结果为:"+sum(100));
        }
        public static int sum(int num){
            if(num==1){
                                            return num;
                }else{
                                              return num+sum(num-1);
                }
        }
}
回复 使用道具 举报
用if递归
回复 使用道具 举报
tubao1991 发表于 2015-4-7 18:23
我的想法是:public class Test10{  
        public static void main(String[] args){
          System.out.println(" ...

刚看到是毕老师第20天第07课讲的,代码中有点和老师写的不一样,就是return num,应为return 1。这样清楚些了。mark
回复 使用道具 举报
thoris 来自手机 中级黑马 2015-4-7 22:14:37
8#
又学到了新东西~
回复 使用道具 举报
666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马