Java 程序编写 数组

定义一个4x5的矩阵数组,并输入数组元素值,分别找出其中的最大值及最小值元素,输出其值及所在的行号和列号。... 定义一个4x5的矩阵数组,并输入数组元素值,分别找出其中的最大值及最小值元素,输出其值及所在的行号和列号。 展开
 我来答
yj83855039
2015-05-04 · TA获得超过590个赞
知道小有建树答主
回答量:985
采纳率:33%
帮助的人:489万
展开全部
import java.util.Scanner;

public class Array {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
      int rows, cols; // 行数与列数

      System.out.print("Enter number of rows and columns" 
                       + " for the matrix: ");
      rows = stdIn.nextInt();
      cols = stdIn.nextInt();
      int[][] arrA = new int[rows][cols];
      arrA = readArray(stdIn, rows, cols);
      
      System.out.println("the matrix:");
      printArray(arrA);
      
      getMax(arrA);
      getMin(arrA);
}

 /*******************************************************/
   /* 读入矩阵数据                      */
   public static int[][] readArray(Scanner scan, 
                                   int numRows, int numCols) {
     
      int[][] arr = new int[numRows][numCols];
    
      System.out.println("Enter values for " + numRows + "x" + numCols + " matrix:");
    
      for (int row = 0; row < arr.length; row++) {
        for (int col = 0; col < arr[0].length; col++) {
          arr[row][col] = scan.nextInt();
        }
      }
      
      return arr;
   }
   
   /*******************************************************/
   /* 打印矩阵                               */
   public static void printArray(int[][] arr) {

      for (int row=0; row<arr.length; row++) {
         for (int col=0; col<arr[0].length; col++) {
            System.out.printf("%5d", arr[row][col]);
         }
         System.out.println();
      }

   }
   
   public static void getMax(int[][] arr) {
  int max = arr[0][0];
      for (int row=0; row<arr.length; row++) {
         for (int col=0; col<arr[0].length; col++) {
            if(arr[row][col]>max){
             max = arr[row][col];
            }
         }          
      }
      System.out.println("最大值为:"+max);
      for (int row=0; row<arr.length; row++) {
         for (int col=0; col<arr[0].length; col++) {
          if(arr[row][col]==max)
          System.out.println("最大值坐标为:("+(row+1)+","+(col+1)+")");
         }
      }
   }
   
   public static void getMin(int[][] arr) {
  int min = arr[0][0];
      for (int row=0; row<arr.length; row++) {
         for (int col=0; col<arr[0].length; col++) {
            if(arr[row][col]<min){
             min = arr[row][col];
            }
         }          
      }
      System.out.println("最小值为:"+min);
      for (int row=0; row<arr.length; row++) {
         for (int col=0; col<arr[0].length; col++) {
          if(arr[row][col]==min)
          System.out.println("最小值坐标为:("+(row+1)+","+(col+1)+")");
         }
      }
   }
}
藍色雷客
2015-05-04 · TA获得超过122个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:163万
展开全部
int[][] v = new int[4][5];

for(int i=0;i<v.length;i++){
// 在这里做最大值及最小值查询
// 列号 i

getMaxValue(v[i]); // 行号及最大值
getMinValue(v[i]); // 行号及最小值
}

参考网页:
How can I locate and print the index of a max value in an array?
http://stackoverflow.com/questions/8991103/how-can-i-locate-and-print-the-index-of-a-max-value-in-an-array
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Stellights
推荐于2016-10-27 · TA获得超过322个赞
知道小有建树答主
回答量:249
采纳率:100%
帮助的人:111万
展开全部

数组是Java中的一中数据存储方法,它可以把多个对象放在一起,避免了声明的麻烦。

常见的数组声明方法:

  1. int[] a=new int[10];//a为数组的名称。10为数组的大小。

  2. int[] a={1,1,1,1,1};//a为数组的名称。大括号中的数字为数组中的内容,数组的大小由内容的个数决定,用","隔开。

  3. int[] a=new int[]{1,1,1,1,1}; //a为数组的名称。大括号中的数字为数组中的内容,数组的大小由内容的个数决定,用","隔开。

注意:

  1. 数组的大小一旦确定,就不能修改。

  2. 如果设置的大小为5,则只能访问0~4角标(包括0和4),如果超出此范围,就会出现ArrayIndexOutOfBoundException错误。

  3. 指定类型的数组中不能存放其他类型的数据,如int类型的数组不能存储String类型的数据。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
comil4444
2015-12-24 · TA获得超过113个赞
知道答主
回答量:101
采纳率:100%
帮助的人:40.1万
展开全部
你是要实现这个数据结构么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式