A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JoAndroid

中级黑马

  • 黑马币:18

  • 帖子:85

  • 精华:0

/*
1.分析以下需求,并用代码实现:
        (1)定义一个int类型的二维数组
        (2)获取该二维数组最小元素,并输出
*/

import java.util.Scanner;
class Job_01s {
        public static void main(String[] args) {
                int [][] arr = new int[3][];
                //System.out.println(arr);      
                //System.out.println(arr[0]);   
                //System.out.println(arr[0][0]);
                int[][] arr1 = getArray();       
                printArr(arr1);
                System.out.println("最小元素"+getMin(arr1));
        }

        //键入数组
        public static int[][] getArray() {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入二维数组中一维数组的个数:");
                int length1 = sc.nextInt();
                int arr[][] = new int [length1][];
                for (int i = 0;i < length1 ;i++ ) {
                        System.out.println("请输入第"+(i+1)+"个一位数组有几个元素:");
                        int length2 = sc.nextInt();          
                        for (int j = 0;j < length2 ;j++ ) {
                                System.out.println("请输入arr["+i+"]["+j+"]的元素");
                                arr[i][j] = sc.nextInt();                               
                        }
                }
                return arr;
        }

        //遍历输出二维数组
        public static void printArr(int[][] arr){
                for (int i = 0;i < arr.length ;i++ ) {
                        for (int j = 0;j < arr[i].length ;j++ ) {
                                System.out.print(arr[i][j]+"\t");
                        }
                        System.out.println();
                }
                System.out.println();
        }

        //获取最小值
        public static int getMin(int[][] arr) {
                int min = arr[0][0];
                for (int i = 0;i < arr.length ;i++ ) {
                        for (int j = 0;j < arr[i].length ;j++ ) {
                                if (min > arr[i][j]) {
                                        min = arr[i][j];
                                }
                        }
                }
                return min;
        }
}


报错,求大神详解

4 个回复

倒序浏览
System.out.println("请输入第"+(i+1)+"个一位数组有几个元素:");
                        int length2 = sc.nextInt();  
                        arr[i] = new int[length2];

你是不是少了这句话呢?????
回复 使用道具 举报
1L真相了,你的arr[i]里面存的是null,并没有存入数组。
回复 使用道具 举报
假装听不懂的我,悄悄地路过
回复 使用道具 举报
小小丶白 发表于 2016-8-21 15:42
System.out.println("请输入第"+(i+1)+"个一位数组有几个元素:");
                        int length2 =  ...

恩恩 是的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马