java MaxMin
时间: 2024-01-02 10:22:55 浏览: 129
以下是两种Java求最大值和最小值的例子:
1. 使用进阶的MinMax类:
```java
import com.northcastle.I_stream.MinMax;
int[] nums = {1, 2, -5, ..., n};
int min = MinMax.min(nums);
int max = MinMax.max(nums);
System.out.println("最小值是:" + min);
System.out.println("最大值是:" + max);
```
2. 使用流(Stream)的方式:
```java
import java.util.Optional;
import java.util.stream.Stream;
String[] strs = {"1", "5", "2", "3", "100"};
Optional<Integer> max = Stream.of(strs)
.map(Integer::parseInt)
.max((o1, o2) -> {
System.out.println("o1 = " + o1 + " ; o2 = " + o2);
return o1 - o2;
});
System.out.println("最大值是:" + max.get());
```
相关问题
javaint max = Integer.MIN_VALUE;
这段代码是错误的,因为Java中的数据类型和变量名应该用空格分隔开,变量名不能以Java关键字开头。正确的写法应该是:
```java
int max = Integer.MIN_VALUE;
```
其中,int是Java中的整数类型关键字,max是变量名,Integer.MIN_VALUE表示int类型的最小值(-2147483648),意思是将max的初始值设置为int类型的最小值。
JAVA随机产生10个1~1000的整数,放在一个数组中,定义方法maxMin(),求出其中的最大值和最小值,要求不能使用sort()方法
好的,我可以帮你解决这个问题。
以下是JAVA代码实现:
```java
import java.util.Random;
public class MaxMin {
public static void main(String[] args) {
int[] arr = new int[10];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt(1000) + 1;
System.out.print(arr[i] + " ");
}
System.out.println();
int max = maxMin(arr)[0];
int min = maxMin(arr)[1];
System.out.println("最大值为:" + max);
System.out.println("最小值为:" + min);
}
public static int[] maxMin(int[] arr) {
int max = arr[0];
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
return new int[]{max, min};
}
}
```
代码解释:
1. 首先,我们定义了一个长度为10的整型数组`arr`,并且使用`Random`类生成1~1000的随机整数赋值给数组。
2. 然后,我们调用`maxMin()`方法,该方法接收一个整型数组作为参数,并返回一个含有最大值和最小值的整型数组。
3. 在`maxMin()`方法中,我们使用两个变量`max`和`min`来分别记录最大值和最小值,初始值都设为数组的第一个元素。
4. 然后,我们遍历整个数组,如果当前元素比`max`大,则更新`max`的值;如果当前元素比`min`小,则更新`min`的值。
5. 最后,我们使用`return`语句返回一个含有`max`和`min`的整型数组。
6. 在`main()`方法中,我们调用`maxMin()`方法获取最大值和最小值,并输出结果。
希望能够帮助到你,如果还有其他问题或需求,请随时提出。
阅读全文