想要学好Java,就一定要敲好代码,因为这是程序员今后吃饭的本钱。正所谓一日不练手生,埋首练习代码、做习题应该是每一个初学Java的人的日常。有部分学员表示没有什么练习题可以做,接下来的Java学习入门就给大家提供一些常见的练习题及代码。
找出数组中最大值的下标位置
/*
方法分析:
public static
返回值类型:
最大值的下标位置,int类型
方法名:
maxIndexOfArray 最大值下标位置
形式参数列表:
需要一个int类型数组
(int[] array)
方法声明:
public static int maxIndexOfArray(int[] array)
*/
/**
* 找出数组中的最大值所在下标位置
*
* @param array int类型数组
* @return 最大值下标所在位置
*/
public static int maxIndexOfArray(int[] array) {
// 假设数组中最大值的下标位置为0
int maxIndex = 0;
for (int i = 1; i < array.length; i++) {
// 如果发现maxIndex对应元素小于下标为i的元素
if (array[maxIndex] < array[i]) {
// 保留i值
maxIndex = i;
}
}
return maxIndex;
}
找出数组中最小值的下标位置
/*
方法分析:
public static
返回值类型:
找出对应元素的下标位置,返回值为int类型
方法名:
minIndexOfArray
形式参数列表:
(int[] array)
方法声明:
public static int minIndexOfArray(int[] array)
*/
/**
* 找出数组中最小值的下标位置
*
* @param array int类型数组
* @return 返回值是当前数组中最小值的下标位置
*/
public static int minIndexOfArray(int[] array) {
int minIndex = 0;
for (int i = 1; i < array.length; i++) {
if (array[minIndex] > array[i]) {
minIndex = i;
}
}
return minIndex;
}
找出数组中指定元素的下标位置
/*
方法分析:
public static
返回值类型:
返回值是数组的下标位置,为int类型
方法名:
indexOf
形式参数列表:
1. int类型数组
2. 告知方法指定查询的数据
(int[] array, int find);
方法声明:
public static int indexOf(int[] array, int find)
*/
/**
* 找出指定元素的下标位置
*
* @param array 指定的int类型数组
* @param find 指定查询的数据,为int类型
* @return 找到对应下标位置,返回值大于等于0,没有找到返回-1
*/
public static int indexOf(int[] array, int find) {
// 这里假设找不到对应的数据
int index = -1;
// 利用循环遍历数组
for (int i = 0; i < array.length; i++) {
// 发现存在数据和指定find数据一致
if (find == array[i]) {
// 保留下标
index = i;
// 没有继续循环下去的必要,终止循环
break;
}
}
return index;
}
1.4 获取数组中指定下标的元素
/**
* 找出指定下标的元素
*
* @param array 指定的数组
* @param index 指定的下标位置
* @return 对应当前下标的元素,为int类型
*/
public static int get(int[] array, int index) {
// 参数合法性判断的思想
if (index > array.length - 1 || index < 0) {
System.out.println(“Input Parameter is Invalid!”);
System.exit(0);
}
return array[index];
}
找出指定元素在指定数组中所有下标位置 【难点】
/*
要求:
a. 不允许在方法内打印展示
b. 考虑多个数据情况
c. 需要在方法外获取到下标数据信息
d. 不允许使用数组作为返回值
方法分析:
public static
返回值类型:
int类型,返回找的指定数据的个数
方法名:
findAll
形式参数列表:
a. 指定查询数据的数组,int类型数组
b. 指定查询的目标数据,int类型
c. 一个可以保存下标的int类型数组,数组的容量是源数据数组容量
分析:
所有指定元素的下标位置
1. 数据个数不确定,但是有极值,数据多个。
2. 下标是 int类型
需要
int类型数组,数组容量是指定源数据数组的容量
方法声明:
public static int findAll(int[] arr, int find, int[] index)
*/
/**
* 在指定数组中找出指定数据,保存指定数据的下标位置到index数组中。
*
* @param arr 源数据int类型数组
* @param find 需要查找的指定数据为int类型
* @param index 保存找到数据下标位置的数组,要求和源数据数组容量一致
* @return 找到目标数据的个数,没有找到返回0
*/
public static int findAll(int[] arr, int find, int[] index) {
/*
参数合法性判断
null == arr 你目前可以理解成给予当前方法的参数中数组为“空”
arr.index == 0 给予当前方法的数组容量为0
index.length < arr.length 保存下标的数组容量和源数据数组容量一致
*/
if (null == arr || null == index || arr.length == 0
|| index.length == 0 || index.length < arr.length) {
System.out.println(“Input Parameter is Invalid!”);
return 0;
}
// int类型变量,计数当前找到的元素个数
// 还有一个功能,是下一次存储指定数据下标的位置【尾插法】
int size = 0;
// 利用循环遍历源数据数组
for (int i = 0; i < arr.length; i++) {
// 发现数组中下标为i的元素和指定find值一致,保存对应下标位置
if (find == arr[i]) {
// 下标保存到index数组中
index[size] = i;
size += 1;
}
}
return size;
}
当然,Java知识点众多,企业在选拔考核时出题也会千差万别,不过只要我们牢记代码规范、记住每一个语法及使用,我们就可以顺利通过面试关。如果你觉得缺少项目练习或实战,想要领取更多的Java入门资料。,关注我们即可领取!