数组最大值和最小值就所在行列


/*

 * 找出4×5矩阵中最大元素和最小元素,并输出其值所在的行号和列号

 */package com.imooc;


import java.util.Scanner;


public class z2 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

int M,N,m,n;

int[][] a=new int[4][5];

int max,min;min=max=a[0][0];

for(int i=0;i<a.length;i++)

{

for(int j=0;j<a[1].length;j++){System.out.println("请输入数组值");

a[i][j]=in.nextInt();

if(max<a[i][j]) {max=a[i][j];m=i+1; n=j+1;}

if(min>a[i][j]){min=a[i][j];M=i+1;N=j+1;}

}

}

System.out.println("max= "+max);

System.out.println("行号: "+m+"列好:\t"+n);

System.out.println("min= "+min);

System.out.println("行号:\t"+M+"列号:\t"+N);

}

}

为什么定义m,n,M,N的时候不负值就无法运行

还有就是赋值后运行后为什么这个程序只能输出max以及m,n而min,M,N的值都为0

落日离桥
浏览 1706回答 1
1回答

qq_连环_04358155

第一个,你是在if(max<a[i][j])的情况下给m、n赋值的,但是在程序编译时,会认为可能不会有max<a[i][j] 的情况,那么m、n就可能不会有值,而未赋值的参数是不饿能够被打印的,所以建议m、n应该对应一开始的max=a[0][0],另其为0,对于min与M、N也是同理第二,你的min一开始赋值为a[0][0],数组a未被初始化时是默认为0的,应该是你后面输入的值都是大于0的,所以min、M、N都是0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java