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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chuanyueing 中级黑马   /  2013-3-7 14:03  /  3214 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 朱玺 于 2013-3-7 14:09 编辑

刚看了会递归,看到这么个题目,动手做了下,不知道有什么不妥的,大家帮看下,还有别的方法吗?第一次接触递归
  1. public class Test1 {
  2.     public static void main(String[] args) {
  3.          int i =0;
  4.         getNumber(i);
  5.     }

  6.     static  void getNumber(int i)
  7.     {         
  8.         i++;
  9.         System.out.println(i);
  10.         if (i < 100)
  11.                         getNumber(i);
  12.     }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1 赞一个!

查看全部评分

10 个回复

倒序浏览
我靠,代码发不上去,怎么回事?
回复 使用道具 举报
  1. public static void getNum(int i)
  2.         {
  3.                 if(i==101)
  4.                         return ;
  5.                 else
  6.                 {
  7.                         System.out.println(i);
  8.                         getNum(i+1);
  9.                 }
  10.         }
复制代码
回复 使用道具 举报
陈圳 发表于 2013-3-7 14:47

这个貌似更简单,谢了
回复 使用道具 举报
public static void getNum(int num)
{
   whie(i  < 100)
  {
      i++;
      System.out.println(i);
      getNum(i);
  }
}
回复 使用道具 举报
黑马_位志国 发表于 2013-3-7 15:21
public static void getNum(int num)
{
   whie(i  < 100)

用了while就没必要用递归了...
回复 使用道具 举报
  1. import java.util.concurrent.Executors;
  2. import java.util.concurrent.TimeUnit;


  3. public class Demo02 {
  4.         static int i = 0;
  5.     public static void main(String[] args) {
  6.             Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new Runnable(){
  7.                         public void run() {
  8.                                 i++;
  9.                                 if(i<=100){
  10.                                         System.out.println(i);
  11.                                 }else{
  12.                                         System.exit(0);
  13.                                 }
  14.                         }                  
  15.             }, 0, 1, TimeUnit.MICROSECONDS);
  16.     }
  17. }
复制代码
用并发线程也可以实现,当然很麻烦,但也是一种方式。。
回复 使用道具 举报

  1. public class hello {
  2.         public static void main(String[] args) {
  3.                 
  4.           getNum(102);
  5.   }
  6.   public static void getNum(int i ){
  7.               if (i<0||i>100){
  8.                 System.out.print("输入值不合法");
  9.                 retrun ;
  10.               }
  11.               else{
  12.                 System.out.println(i);
  13.                 getNum(i+1);
  14.               }

  15.               
  16.   }
  17. }
复制代码
大家已经给的很好了,我修改一下。
回复 使用道具 举报
while循环:
int i=1;
while(i<=100)
{
    System.out.println(i);
    i+=1;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马