public class Simple2DArray {
public static void main(String[] args) {
}
public static void fill()
{
int[][] grid = new int[5][5];
for(int r=0;r<grid.length;r++)
{
for(int c=0;c<grid[r].length;r++)
{
grid[r][c] = (int)(Math.random()*100);
}
}
}
public static int biggest(int[][] grid, int big)
{
for(int r=0;r<grid.length;r++)
{
for(int c=0;c<grid[r].length;r++)
{
if(grid[r][c]> big)
{
big = grid[r][c];
}
}
}
System.out.println(big);
return big;
}
}
我想要它打印大。我该怎么做呢?我尝试将System.out.println(biggest(null,big)
放在main方法中,但这不起作用。
答案 0 :(得分:1)
我得到了解决方案
但首先要经过https://stackoverflow.com/help/how-to-ask
您的解决方案
我在代码中做了一些更改。
public class Simple2DArray {
public static void main(String[] args) {
int[][] grid = fill();
System.out.println(biggest(grid, 20));
}
public static int[][] fill()
{
int[][] grid = new int[5][5];
for(int r=0;r<grid.length;r++)
{
for(int c=0;c<grid[r].length;c++)
{
grid[r][c] = (int)(Math.random()*100);
}
}
System.out.println("Input 2D");
for(int r=0;r<grid.length;r++)
{
for(int c=0;c<grid[r].length;c++)
{
System.out.print(grid[r][c]);
System.out.print("\t");
}
System.out.println("");
}
return grid;
}
public static int biggest(int[][] grid, int big)
{
if (grid != null) {
for (int r = 0; r < grid.length; r++) {
for (int c = 0; c < grid[r].length; c++) {
if (grid[r][c] > big) {
big = grid[r][c];
}
}
}
}
return big;
}
}
答案 1 :(得分:1)
需要进行以下更正:
fill
需要返回grid
。biggest
并不需要big
作为参数(这没有多大意义)。它应该以{{1}}开始。Integer.MIN_VALUE
内打印big
。biggest
值的for
循环中,您应该c
而不是c++
。r++
然后你可以在一个实际的二维数组上调用public static int[][] fill()
{
int[][] grid = new int[5][5];
for(int r=0;r<grid.length;r++)
{
for(int c=0;c<grid[r].length;c++)
{
grid[r][c] = (int)(Math.random()*100);
}
}
return grid;
}
public static int biggest(int[][] grid)
{
int big = Integer.MIN_VALUE;
for(int r=0;r<grid.length;r++)
{
for(int c=0;c<grid[r].length;c++)
{
if(grid[r][c]> big)
{
big = grid[r][c];
}
}
}
return big;
}
(biggest
不是一个真正的二维数组):
null