/*?* 找出4×5矩陣中最大元素和最小元素,并輸出其值所在的行號(hào)和列號(hào)?*/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("請(qǐng)輸入數(shù)組值"); 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("行號(hào): "+m+"列好:\t"+n); System.out.println("min= "+min); System.out.println("行號(hào):\t"+M+"列號(hào):\t"+N);}}為什么定義m,n,M,N的時(shí)候不負(fù)值就無法運(yùn)行還有就是賦值后運(yùn)行后為什么這個(gè)程序只能輸出max以及m,n而min,M,N的值都為0
1 回答

qq_連環(huán)_04358155
TA貢獻(xiàn)34條經(jīng)驗(yàn) 獲得超5個(gè)贊
第一個(gè),你是在if(max<a[i][j])的情況下給m、n賦值的,但是在程序編譯時(shí),會(huì)認(rèn)為可能不會(huì)有max<a[i][j] 的情況,那么m、n就可能不會(huì)有值,而未賦值的參數(shù)是不餓能夠被打印的,所以建議m、n應(yīng)該對(duì)應(yīng)一開始的max=a[0][0],另其為0,對(duì)于min與M、N也是同理
第二,你的min一開始賦值為a[0][0],數(shù)組a未被初始化時(shí)是默認(rèn)為0的,應(yīng)該是你后面輸入的值都是大于0的,所以min、M、N都是0
添加回答
舉報(bào)
0/150
提交
取消