andy Space

博客园 首页 新随笔 联系 订阅 管理

public class Test
{
 
 public static void main(String[] args)throws Exception
 {
  for(int i=0; i<=9999999999L; i++)
  {
   System.out.println(Sequence.get());
  }
 }
}

class Sequence
{
 private static final String str="99";
 
 private static int[] arr = new int[str.length()];
 
 public static synchronized String get() throws Exception
 {
  for(int i=arr.length-1; i>=0; i--)
  {
   if(!str.equals(toString(arr)))
   {
    if(arr[i] == 9)
    {
     arr[i]=0;
    }
    else
    {
     arr[i]=arr[i]+1;
     break;
    }
   }
   else
   {
    throw new Exception("数值超出范围.");
   }
  }
  
  return toString(arr);
 }
 
 private static String toString(int[] arr)
 {
  StringBuffer str=new StringBuffer();
  boolean flag=false;
  for(int i=0; i<=arr.length-1; i++)
  {
   if(arr[i]>0)
   {
    flag=true;
   }
   if(flag)
   {
    str.append(String.valueOf(arr[i]));
   }
  }
  return str.toString();
 }
}

posted on 2011-06-09 19:16  andyliang  阅读(687)  评论(0)    收藏  举报