Java 返回最小值和最大值
当用户输入Y继续程序时,我试图从随机数数组中获取最大值和最小值。我想在随机数方法中测试最小值和最大值,还是让最小值和最大值成为自己的方法 我已经尝试了研究,我已经为此工作了几个小时Java 返回最小值和最大值,java,arrays,methods,Java,Arrays,Methods,当用户输入Y继续程序时,我试图从随机数数组中获取最大值和最小值。我想在随机数方法中测试最小值和最大值,还是让最小值和最大值成为自己的方法 我已经尝试了研究,我已经为此工作了几个小时 package lab10p1; import java.util.*; import java.util.Random; public class Lab10p1 { public static final int ROW = 5; public static final int COL = 6; public
package lab10p1;
import java.util.*;
import java.util.Random;
public class Lab10p1 {
public static final int ROW = 5;
public static final int COL = 6;
public static final int MIN = 0;
public static final int MAX = 100;
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner scan=new Scanner(System.in);
System.out.println("Do you want to start Y/N?");
char c =scan.next().charAt(0);
while(c=='y'||c=='Y')
{
int[][] a = new int[ROW][COL];
randArray(a, ROW, COL, MIN, MAX);
int smallest;
System.out.println(min);
c=scan.next().charAt(0);
}
}
public static int randArray(int[][] matrix, int row, int col, int low, int up)
{
Random rand = new Random();
int min = matrix[0][0];
for (int r = 0; r < row; r++)
{
for (int c = 0; c < col; c++)
{
if(matrix[r][c] < min) {
min = matrix[r][c];}
int random=matrix[r][c] = rand.nextInt(up - low + 1) + low;
System.out.print(" "+random);
}
System.out.println();
}
return min;
}
}
您可以使用
Arrays.stream()
、IntStream.min()
和IntStream.max()
分钟:
private static int arrayMin(int[][] a) {
return Arrays.stream(a)
.mapToInt(r -> IntStream.of(r).min().getAsInt())
.min().getAsInt();
}
private static int arrayMax(int[][] a) {
return Arrays.stream(a)
.mapToInt(r -> IntStream.of(r).max().getAsInt())
.max().getAsInt();
}
最大值:
private static int arrayMin(int[][] a) {
return Arrays.stream(a)
.mapToInt(r -> IntStream.of(r).min().getAsInt())
.min().getAsInt();
}
private static int arrayMax(int[][] a) {
return Arrays.stream(a)
.mapToInt(r -> IntStream.of(r).max().getAsInt())
.max().getAsInt();
}
这两种方法都是查找每行的最小/最大值,并将此结果映射到另一个数组,然后获取此数组的最小/最大值。我认为您最有可能从这个问题中得到的是人们的意见。它是否按照您当前的编程方式工作?您可以创建自己的最小/最大函数。这样做可能更容易理解。另外,看看Math.min()和Math.max()。它现在不返回任何内容。我的研究很糟糕,可能是重复的