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经典算法题目的详细解析与知识点: ### 知识点一:斐波那契数列(Fibonacci Sequence) #### 题目背景: 题目要求计算每个月兔子的总数,从第三个月起,每对成年兔子每...
在解答这些Java经典算法题目时,除了掌握算法本身,还需要关注代码的可读性、可维护性和效率。通过不断实践,开发者可以提升自己的编程技巧,为解决实际工作中的复杂问题打下坚实的基础。因此,无论是初学者还是经验...
JAVA算法编程题目及答案 本资源提供了50道JAVA算法编程题目及答案,涵盖了算法设计、数据结构、程序设计等多个方面的知识点。以下是对标题、描述、标签和部分内容的详细解释: 标题:JAVA算法编程题目及答案 本...
以下是对给定的四道JAVA经典算法题目的详细解析: **题目1:斐波那契数列** 这是一道关于递归与动态规划的问题。斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21...,其中每个数都是前两个数的和。题目...
本资源是JAVA经典算法40题的PDF文件,该文件包含了40个经典算法题目,每个题目都有相应的Java代码实现。以下是对标题、描述、标签和部分内容的知识点解释: 标签:“数据库” 虽然标签是“数据库”,但实际上该...
本资源总结了39道经典的 JAVA 算法面试题目,每个题目都附带答案,涵盖了常见的算法问题,旨在帮助读者更好地掌握 JAVA 编程语言和算法设计。 算法概述 算法是计算机科学中最重要的组成部分,指的是解决特定问题的...
首先,让我们详细探讨一下Java算法的重要性。算法是解决问题的步骤或方法,是计算机科学的基础。在Java编程中,良好的算法设计和实现能力能够极大地提高代码的效率和可读性。通过解决这些算法题,开发者可以锻炼逻辑...
java经典题目算法
首先,"JAVA经典算法40题.doc"可能包含了一些基础的算法题目,如排序(冒泡排序、选择排序、插入排序、快速排序、归并排序)、搜索(线性搜索、二分搜索)、图论(最短路径问题、拓扑排序)以及动态规划等。...
该标题表明该资源是关于JAVA经典算法的40个面试题,这些题目涵盖了基本的算法面试代码题。 二、描述:“JAVA经典算法40面试题,包含基本的算法面试代码题。” 该描述进一步解释了标题,表明该资源包含了40个JAVA...
本资源是一个java经典算法题库,共包含30个经典算法题目,涵盖了多种算法领域,包括递归、素数、水仙花数、质因数分解等。 程序1:兔子繁殖问题 该程序解决了一个经典的问题:有一对兔子,从出生后第3个月起每个月...
这个压缩包中包含了一份名为"JAVA经典算法40题.doc"的文档,很可能是40道与Java相关的算法题目集合,涵盖了排序、搜索、图论、动态规划等多个领域。 首先,让我们来看看Java算法中的基础部分——排序算法。Java中...
这里我们探讨了四个经典的Java算法题目,涵盖了递归、素数判断、水仙花数和分解质因数。 首先,【程序1】是斐波那契数列(Fibonacci sequence)的实现。斐波那契数列是一个序列,其中每个数字是前两个数字的和。...
其次,`java经典算法40题`可能是包括排序(如冒泡排序、快速排序、归并排序等)、搜索(如线性搜索、二分搜索等)、图论、动态规划等算法题目。掌握这些经典算法对于提高代码效率和解决问题的能力至关重要。在面试中...
在编程领域,算法是解决问题的关键,对于Java开发者来说,熟悉并掌握各种经典算法至关重要。"JAVA经典算法90题【含源码】-史上最全"这个压缩包文件提供了一个宝贵的资源,涵盖了90个Java实现的经典算法问题,旨在...
在"经典算法题目"的Java实现中,开发者需要掌握Java语言特性,如异常处理、泛型、集合框架等,并理解如何用面向对象的方式组织代码。尽管Java的性能可能略逊于C++,但其丰富的库函数和自动内存管理使得编写和调试...
在给定的JAVA经典算法50题中,我们看到了几个典型的编程题目,涵盖了递归、素数判断和特定数字性质的检查。以下是这些程序的主要知识点: 1. **斐波那契数列**(Fibonacci Sequence): - 在程序1中,题目描述了一...
这些题目覆盖了基础算法和数据结构,包括递归、循环、质数判断、数列计算等概念,对于学习和理解Java编程以及算法设计都有很好的实践意义。通过解决这些问题,可以提升编程能力,特别是对于逻辑思维、问题分析和...
根据给定的文件信息,我们可以总结出以下关于Java经典算法的知识点: ### 1. 斐波那契数列 斐波那契数列是一种典型的递归算法应用,数列的每一项都是前两项的和。在代码示例中,通过递归函数`f(int x)`实现了...