`
Freedomcxc
  • 浏览: 1544 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Java经典算法题目

阅读更多
1.写一个方法,用一个for循环打印九九乘法表

Java代码
   /** 
* 打印九九乘法口诀表 
*/ 
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();   
          }   
      }   


  
       /**
     * 打印九九乘法口诀表
     */
    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代码
/**  
     * 将某个日期以固定格式转化成字符串  
     * @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;   
    }  

/**
     * 将某个日期以固定格式转化成字符串
     * @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代码
/**  
* 判断任意一个整数是否素数  
* @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;   
}  

    /**
    * 判断任意一个整数是否素数
    * @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代码
/**  
*获得任意一个整数的阶乘  
*@param n  
*@returnn!  
*/   
public int factorial(int num)   
{   
   //递归   
   if(num == 1)   
   {   
       return 1;   
   }   
   return num*factorial(num-1);  


     /**
      *获得任意一个整数的阶乘
      *@param n
      *@returnn!
      */
      public int factorial(int num)
      {
        //递归
        if(num == 1)
        {
            return 1;
        }
        return num*factorial(num-1);
      }
5.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1

Java代码
/**  
*二分查找特定整数在整型数组中的位置(递归)  
*@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;   
  }  

   
      /**
       *二分查找特定整数在整型数组中的位置(递归)
       *@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;
        }
分享到:
评论

相关推荐

    JAVA经典算法题目

    根据提供的信息,我们可以总结出以下四个Java经典算法题目的详细解析与知识点: ### 知识点一:斐波那契数列(Fibonacci Sequence) #### 题目背景: 题目要求计算每个月兔子的总数,从第三个月起,每对成年兔子每...

    java经典算法90 题目

    在解答这些Java经典算法题目时,除了掌握算法本身,还需要关注代码的可读性、可维护性和效率。通过不断实践,开发者可以提升自己的编程技巧,为解决实际工作中的复杂问题打下坚实的基础。因此,无论是初学者还是经验...

    JAVA算法编程题目及答案.doc

    JAVA算法编程题目及答案 本资源提供了50道JAVA算法编程题目及答案,涵盖了算法设计、数据结构、程序设计等多个方面的知识点。以下是对标题、描述、标签和部分内容的详细解释: 标题:JAVA算法编程题目及答案 本...

    JAVA经典算法,有可能在面试中出现的题目哟

    以下是对给定的四道JAVA经典算法题目的详细解析: **题目1:斐波那契数列** 这是一道关于递归与动态规划的问题。斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21...,其中每个数都是前两个数的和。题目...

    JAVA经典算法40题.pdf

    本资源是JAVA经典算法40题的PDF文件,该文件包含了40个经典算法题目,每个题目都有相应的Java代码实现。以下是对标题、描述、标签和部分内容的知识点解释: 标签:“数据库” 虽然标签是“数据库”,但实际上该...

    JAVA经典算法面试39题及答案

    本资源总结了39道经典的 JAVA 算法面试题目,每个题目都附带答案,涵盖了常见的算法问题,旨在帮助读者更好地掌握 JAVA 编程语言和算法设计。 算法概述 算法是计算机科学中最重要的组成部分,指的是解决特定问题的...

    java经典算法90题含源码及答案.rar

    首先,让我们详细探讨一下Java算法的重要性。算法是解决问题的步骤或方法,是计算机科学的基础。在Java编程中,良好的算法设计和实现能力能够极大地提高代码的效率和可读性。通过解决这些算法题,开发者可以锻炼逻辑...

    java经典题目算法.pdf

    java经典题目算法

    JAVA经典算法90题【含源码】

    首先,"JAVA经典算法40题.doc"可能包含了一些基础的算法题目,如排序(冒泡排序、选择排序、插入排序、快速排序、归并排序)、搜索(线性搜索、二分搜索)、图论(最短路径问题、拓扑排序)以及动态规划等。...

    JAVA经典算法40面试题

    该标题表明该资源是关于JAVA经典算法的40个面试题,这些题目涵盖了基本的算法面试代码题。 二、描述:“JAVA经典算法40面试题,包含基本的算法面试代码题。” 该描述进一步解释了标题,表明该资源包含了40个JAVA...

    JAVA经典算法30题

    本资源是一个java经典算法题库,共包含30个经典算法题目,涵盖了多种算法领域,包括递归、素数、水仙花数、质因数分解等。 程序1:兔子繁殖问题 该程序解决了一个经典的问题:有一对兔子,从出生后第3个月起每个月...

    java经典算法题

    这个压缩包中包含了一份名为"JAVA经典算法40题.doc"的文档,很可能是40道与Java相关的算法题目集合,涵盖了排序、搜索、图论、动态规划等多个领域。 首先,让我们来看看Java算法中的基础部分——排序算法。Java中...

    Java经典算法四十题

    这里我们探讨了四个经典的Java算法题目,涵盖了递归、素数判断、水仙花数和分解质因数。 首先,【程序1】是斐波那契数列(Fibonacci sequence)的实现。斐波那契数列是一个序列,其中每个数字是前两个数字的和。...

    java最新经典算法源码

    其次,`java经典算法40题`可能是包括排序(如冒泡排序、快速排序、归并排序等)、搜索(如线性搜索、二分搜索等)、图论、动态规划等算法题目。掌握这些经典算法对于提高代码效率和解决问题的能力至关重要。在面试中...

    JAVA经典算法90题【含源码】-史上最全

    在编程领域,算法是解决问题的关键,对于Java开发者来说,熟悉并掌握各种经典算法至关重要。"JAVA经典算法90题【含源码】-史上最全"这个压缩包文件提供了一个宝贵的资源,涵盖了90个Java实现的经典算法问题,旨在...

    经典算法题目

    在"经典算法题目"的Java实现中,开发者需要掌握Java语言特性,如异常处理、泛型、集合框架等,并理解如何用面向对象的方式组织代码。尽管Java的性能可能略逊于C++,但其丰富的库函数和自动内存管理使得编写和调试...

    JAVA经典算法50题.doc

    在给定的JAVA经典算法50题中,我们看到了几个典型的编程题目,涵盖了递归、素数判断和特定数字性质的检查。以下是这些程序的主要知识点: 1. **斐波那契数列**(Fibonacci Sequence): - 在程序1中,题目描述了一...

    JAVA经典算法40题

    这些题目覆盖了基础算法和数据结构,包括递归、循环、质数判断、数列计算等概念,对于学习和理解Java编程以及算法设计都有很好的实践意义。通过解决这些问题,可以提升编程能力,特别是对于逻辑思维、问题分析和...

    java经典算法 包含多种算法

    根据给定的文件信息,我们可以总结出以下关于Java经典算法的知识点: ### 1. 斐波那契数列 斐波那契数列是一种典型的递归算法应用,数列的每一项都是前两项的和。在代码示例中,通过递归函数`f(int x)`实现了...

Global site tag (gtag.js) - Google Analytics