麻烦高手解决小程序的稳定性*/40分/*
今天朋友讨论的一个小代码   输入小的数字   还可以运行   大一点的数字就会报错 
 请问大家该如何修改?!谢谢!换一种更好的写法也可以!   
 public   class   jianmo   { 
       static   long   count   =   0;   
       public   static   long   jech(long   a)   { 
             long   s   =   1; 
             for   (long   i   =   a;   i   >    0;   i--) 
                   s   *=   i; 
             return   s;   
       }   
       public   static   void   main(String[]   args)   { 
             int   n   =   Integer.parseInt(args[0]); 
             int   t; 
             int   x; 
             int   y; 
             jianmo   j   =   new   jianmo(); 
             for   (t   =   0;   t    <=   n;   t++) 
                   for   (x   =   0;   x    <=   n;   x++) 
                         for   (y   =   0;   y    <=   n   /   2;   y++)   { 
                               if   (x   +   2   *   y   ==   n   &   x   +   y   ==   t)   { 
                                     try{   
                                     count   =   count   +   j.jech(t)   /   (j.jech(t   -   x)   *   j.jech(x));   
                                     }catch(ArithmeticException   e){ 
                                           System.out.println(e.getMessage()); 
                                     }                                    
                                     //   System.out.println(x   +    ", "   +   y   +    ", "   +   count+ ", "+t); 
                               } 
                         } 
             System.out.println(count); 
       } 
 }
------解决方案--------------------用BigInteger代替你的int和long。 
 具体参见jdk
------解决方案--------------------越界了当然报错了。唉!
------解决方案--------------------越界→出错→用java.math.BigInteger类来替换