Java:给定一个二位数组,随机初始化数组,并以矩阵形式输出,找到数组中最大值与最小值,分别输出最大最小值的行列下标
public class FindArr {
static class Location {
public int Maxrow;
public int Minrow;
public int MaxColumn;
public int MinColumn;
public int maxValue;
public int minValue;
}
public static Location locateLargest ( int [ ] [ ] arr) {
Location location = new Location ( ) ;
int row = 0 ;
int column = 0 ;
int maxValue = arr[ 0 ] [ 0 ] ;
int minValue = arr[ 0 ] [ 0 ] ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j < arr[ i] . length; j++ ) {
if ( arr[ i] [ j] > maxValue) {
row = i;
column = j;
maxValue = arr[ i] [ j] ;
location. Maxrow = row;
location. MaxColumn = column;
location. maxValue = maxValue;
}
if ( arr[ i] [ j] < minValue) {
row = i;
column = j;
minValue = arr[ i] [ j] ;
location. Minrow = row;
location. MinColumn = column;
location. minValue = minValue;
}
}
}
return location;
}
public static void main ( String[ ] args) {
int arr[ ] [ ] = new int [ 4 ] [ 6 ] ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j < arr[ i] . length; j++ ) {
arr[ i] [ j] = ( int ) ( Math. random ( ) * 100 ) ;
}
}
for ( int i= 0 ; i< 4 ; i++ ) {
for ( int j= 0 ; j< 6 ; j++ ) {
System. out. print ( arr[ i] [ j] + " " ) ;
}
System. out. println ( ) ;
}
Location locate= locateLargest ( arr) ;
int maxValue= locate. maxValue;
int minValue= locate. minValue;
int Maxrow= locate. Maxrow;
int MaxColumn= locate. MaxColumn;
int MinColumn= locate. MinColumn;
int Minrow= locate. Minrow;
System. out. printf ( "最大值:" + maxValue+ " 最大值行标:" + Maxrow+ " " +
"最大值列标:" + MaxColumn+ " 最小值:" + minValue+ " 最小值行标:" + Minrow+ " 最小值列标:" + MinColumn) ;
}
}