注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

Java面试算法题目  

2009-09-24 10:22:14|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1.写一个方法,用一个for循环打印九九乘法表
Java代码 复制代码
  1.   /**   
  2.   * 打印九九乘法口诀表  
  3.    */  
  4. public void nineNineMulitTable(){   
  5.     for (int i = 1,j = 1; j <= 9; i++) {    
  6.           System.out.print(i+"*"+j+"="+i*j+" ");    
  7.           if(i==j){    
  8.               i=0;    
  9.               j++;    
  10.               System.out.println();    
  11.           }    
  12.       }    
  13. }  
      /**         * 打印九九乘法口诀表         */      public void nineNineMulitTable(){          for (int i = 1,j = 1; j <= 9; i++) {                 System.out.print(i+"*"+j+"="+i*j+" ");                 if(i==j){                     i=0;                     j++;                     System.out.println();                 }             }       }  

2.给定一个java.util.Date对象,如何转化为”2007-3-22 20:23:22”格式的字符串
  
Java代码 复制代码
  1. /**   
  2.  * 将某个日期以固定格式转化成字符串   
  3.   * @param date   
  4.  * @return str   
  5.  */    
  6. public String date2FormatStr(Date date)   
  7. {    
  8.   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
  9.   String str = sdf.format(date);    
  10.   return str;    
  11. }   
    /**        * 将某个日期以固定格式转化成字符串         * @param date        * @return str        */       public String date2FormatStr(Date date)      {         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         String str = sdf.format(date);         return str;       }   

3.写一个方法,能够判断任意一个整数是否素数
   
Java代码 复制代码
  1. /**    
  2.  * 判断任意一个整数是否素数   
  3.   * @param num   
  4.  * @return boolean   
  5.  */    
  6. public boolean isPrimeNumber(int num)    
  7. {    
  8.   for (int i = 2; i <= Math.sqrt(num); i++) {    
  9.       if(num%i==0)    
  10.       {    
  11.           return false;    
  12.       }    
  13.   }    
  14.   return true;    
  15. }   
    /**         * 判断任意一个整数是否素数         * @param num        * @return boolean        */       public boolean isPrimeNumber(int num)       {         for (int i = 2; i <= Math.sqrt(num); i++) {             if(num%i==0)             {                 return false;             }         }         return true;       }   

4.写一个方法,输入任意一个整数,返回它的阶乘
   
Java代码 复制代码
  1. /**    
  2.  *获得任意一个整数的阶乘   
  3.   *@param n   
  4.  *@returnn!   
  5.  */    
  6.  public int factorial(int num)    
  7.  {    
  8.    //递归    
  9.    if(num == 1)    
  10.    {    
  11.        return 1;    
  12.    }    
  13.    return num*factorial(num-1);   
  14.  }  
        /**          *获得任意一个整数的阶乘          *@param n         *@returnn!         */         public int factorial(int num)         {           //递归           if(num == 1)           {               return 1;           }           return num*factorial(num-1);        }  

5.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1
Java代码 复制代码
  1. /**    
  2.  *二分查找特定整数在整型数组中的位置(递归)   
  3.  *@param dataset   
  4.  *@param data   
  5.  *@param beginIndex   
  6.  *@param endIndex   
  7.  *@return index   
  8.  */    
  9.  public int binarySearch(int[] dataset,int data,int beginIndex,int endIndex){    
  10.    int midIndex = (beginIndex+endIndex)/2;    
  11.    //如果查找的数要比开始索引的数据要小或者是比结束索引的书要大,或者开始查找的索引值大于结束的索引值返回-1没有查到   
  12.    if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){   
  13.        return -1;   
  14.    }   
  15.    if(data <dataset[midIndex]){     
  16.        return binarySearch(dataset,data,beginIndex,midIndex-1);    
  17.    }else if(data>dataset[midIndex])    
  18.    {    
  19.        return binarySearch(dataset,data,midIndex+1,endIndex);    
  20.    }else {    
  21.        return midIndex;    
  22.    }    
  23.  }    
  24.     
  25.  /** *//**   
  26.   *二分查找特定整数在整型数组中的位置(非递归)   
  27.   *@param dataset   
  28.   *@param data   
  29.   *@return index   
  30.   */    
  31.   public int binarySearch(int[] dataset ,int data)    
  32.   {    
  33.     int beginIndex = 0;     
  34.     int endIndex = dataset.length - 1;     
  35.     int midIndex = -1;    
  36.     if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){   
  37.         return -1;    
  38.     }   
  39.     while(beginIndex <= endIndex) {    
  40.         midIndex = (beginIndex+endIndex)/2;    
  41.         if(data <dataset[midIndex]) {     
  42.            endIndex = midIndex-1;     
  43.         } else if(data>dataset[midIndex]) {     
  44.           beginIndex = midIndex+1;     
  45.         }else {    
  46.           return midIndex;    
  47.         }    
  48.     }    
  49.     return -1;    
  50.   }   
      /**           *二分查找特定整数在整型数组中的位置(递归)          *@param dataset          *@param data          *@param beginIndex          *@param endIndex          *@return index          */          public int binarySearch(int[] dataset,int data,int beginIndex,int endIndex){            int midIndex = (beginIndex+endIndex)/2;            //如果查找的数要比开始索引的数据要小或者是比结束索引的书要大,或者开始查找的索引值大于结束的索引值返回-1没有查到           if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){               return -1;           }           if(data <dataset[midIndex]){                 return binarySearch(dataset,data,beginIndex,midIndex-1);            }else if(data>dataset[midIndex])            {                return binarySearch(dataset,data,midIndex+1,endIndex);            }else {                return midIndex;            }          }                   /** *//**           *二分查找特定整数在整型数组中的位置(非递归)           *@param dataset           *@param data           *@return index           */           public int binarySearch(int[] dataset ,int data)           {             int beginIndex = 0;              int endIndex = dataset.length - 1;              int midIndex = -1;             if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){                return -1;             }            while(beginIndex <= endIndex) {                 midIndex = (beginIndex+endIndex)/2;                 if(data <dataset[midIndex]) {                     endIndex = midIndex-1;                  } else if(data>dataset[midIndex]) {                    beginIndex = midIndex+1;                  }else {                   return midIndex;                 }             }             return -1;           } 
      评论这张
     
    阅读(864)| 评论(0)
    推荐 转载

    历史上的今天

    评论

    <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    页脚

    网易公司版权所有 ©1997-2017