用最基础的java循环方法实现并注释设计一个方法, 参数为int数组, 求数组中第二大的数,并返回,
时间: 2023-02-12 12:43:34 浏览: 89
```java
/**
* 求数组中第二大的数
* @param arr int数组
* @return 第二大的数
*/
public static int getSecondMax(int[] arr) {
int max = Integer.MIN_VALUE;
int secondMax = Integer.MIN_VALUE;
// 遍历数组
for (int i = 0; i < arr.length; i++) {
// 如果当前数比最大值大
if (arr[i] > max) {
// 更新第二大值为最大值
secondMax = max;
// 更新最大值
max = arr[i];
} else if (arr[i] > secondMax) {
// 如果当前数比第二大值大但小于最大值
// 更新第二大值
secondMax = arr[i];
}
}
return secondMax;
}
```
相关问题
用Java基础的for循环写出 移除数组int[] arr = {1, 2, 3, 4, 5, 1, 9, 4, 12, 67, 1};中1这个元素,返回一个新的数组 (不带有1)。即新数组为int[] arr2 = {2, 3, 4, 5, 9, 4, 12, 67};并注释
```java
int[] arr = {1, 2, 3, 4, 5, 1, 9, 4, 12, 67, 1};
int newLength = 0;
// 遍历数组,统计不含1的元素个数
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 1) {
newLength++;
}
}
int[] arr2 = new int[newLength];
int index = 0;
// 遍历数组,将不含1的元素添加到新数组中
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 1) {
arr2[index] = arr[i];
index++;
}
}
```
上面的代码使用了两个 for 循环。第一个 for 循环遍历数组,统计不含1的元素个数,第二个 for 循环遍历数组,将不含1的元素添加到新数组中。最后返回新数组 arr2。
Java查询字符串数组nums中最长的公共前缀子串,如果不存在公共前缀返回字符串** 代码需要添加详细注释
```java
public static String longestCommonPrefix(String[] nums) {
// 判断数组是否为空,如果为空则返回空字符串
if (nums == null || nums.length == 0) {
return "";
}
// 将第一个字符串设为公共前缀
String prefix = nums[0];
// 遍历数组中每一个字符串
for (int i = 1; i < nums.length; i++) {
// 如果当前字符串不是以公共前缀开头,则将公共前缀缩短,直到当前字符串以公共前缀开头或者公共前缀被缩短为空
while (nums[i].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) {
return "";
}
}
}
return prefix;
}
```
注释解释如下:
1. `public static String longestCommonPrefix(String[] nums) {`:定义一个公共静态方法,输入参数为字符串数组,返回值为字符串类型。
2. `if (nums == null || nums.length == 0) {`:判断输入的字符串数组是否为空或长度为0,如果是,则返回空字符串。
3. `String prefix = nums[0];`:初始化公共前缀为字符串数组的第一个字符串。
4. `for (int i = 1; i < nums.length; i++) {`:遍历字符串数组中的每一个字符串,从第二个字符串开始。
5. `while (nums[i].indexOf(prefix) != 0) {`:如果当前字符串不是以公共前缀开头,则进入循环。
6. `prefix = prefix.substring(0, prefix.length() - 1);`:将公共前缀缩短一个字符。
7. `if (prefix.isEmpty()) { return ""; }`:如果公共前缀被缩短为空,则返回空字符串。
8. `return prefix;`:返回最终的公共前缀。