how2j.cn


工具版本兼容问题
这是一个一维数组, 里面的每一个元素,都是一个基本类型int
int a[] =new int[]{1,2,3,4,5};

这是一个二维数组,里面的每一个元素,都是一个一维数组
所以二维数组又叫数组的数组
int b[][] = new int[][]{
{1,2,3},
{4,5,6},
{7,8,9}
};


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



10分32秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器



步骤 1 : 初始化二维数组   
步骤 2 : 练习-二维数组   
步骤 3 : 答案-二维数组   

步骤 1 :

初始化二维数组

edit
public class HelloWorld { public static void main(String[] args) { //初始化二维数组, int[][] a = new int[2][3]; //有两个一维数组,每个一维数组的长度是3 a[1][2] = 5; //可以直接访问一维数组,因为已经分配了空间 //只分配了二维数组 int[][] b = new int[2][]; //有两个一维数组,每个一维数组的长度暂未分配 b[0] =new int[3]; //必须事先分配长度,才可以访问 b[0][2] = 5; //指定内容的同时,分配空间 int[][] c = new int[][]{ {1,2,4}, {4,5}, {6,7,8,9} }; } }
public class HelloWorld {
	public static void main(String[] args) {
	   //初始化二维数组,
	   int[][] a = new int[2][3]; //有两个一维数组,每个一维数组的长度是3
	   a[1][2] = 5;  //可以直接访问一维数组,因为已经分配了空间
	     
	   //只分配了二维数组
	   int[][] b = new int[2][]; //有两个一维数组,每个一维数组的长度暂未分配
	   b[0]  =new int[3]; //必须事先分配长度,才可以访问
	   b[0][2] = 5;
	   
	   //指定内容的同时,分配空间
	   int[][] c = new int[][]{
			   {1,2,4},
			   {4,5},
			   {6,7,8,9}
	   };

    }
}
步骤 2 :

练习-二维数组

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
定义一个5X5的二维数组。 然后使用随机数填充该二维数组。
找出这个二维数组里,最大的那个值,并打印出其二维坐标

0-100的 随机整数的获取办法有多种,下面是参考办法之一:

(int) (Math.random() * 100)

Math.random() 会得到一个0-1之间的随机浮点数,然后乘以100,并强转为整型即可。
练习-二维数组
步骤 3 :

答案-二维数组

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

7分4秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


public class HelloWorld { public static void main(String[] args) { int a[][] = new int[5][5]; // 初始化这个数组 for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { a[i][j] = (int) (Math.random() * 100); } } // 打印这个数组的内容: for (int[] row : a) { for (int each : row) { System.out.print(each + "\t"); } System.out.println(); } int max = -1;// 最大值 // 最大值的坐标 int target_i = -1; int target_j = -1; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { if (a[i][j] > max) { max = a[i][j]; target_i = i; target_j = j; } } } System.out.println("找出来最大的是:" + max); System.out.println("其坐标是[" + target_i + "][" + target_j + "]"); } }


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2024-06-06 个人浅答
带动




无问题
    public static void main(String[] args) {
        int yiceng =5;
        int erceng =5;
        int max =0;
        int x =0;
        int y =0;
        int arry[][]=new int[yiceng][erceng];

        for(int i=0;i<yiceng;i++){
            for(int j=0;j<erceng;j++){
                arry[i][j]=(int) (Math.random()*100);
                System.out.print(arry[i][j]+" ");
            }
            System.out.println("\n");
        }

        for(int i=0;i<yiceng;i++){
            for(int j=0;j<erceng;j++){
                if(arry[i][j]>max){
                    max=arry[i][j];
                    x=i;
                    y=j;
                }
            }
        }
        System.out.println("最大的值是"+max+"\n"+"其坐标为("+x+","+y+")");
    }
}

							


6 个答案

outis
答案时间:2024-09-24
wwwzz
答案时间:2024-09-14
Zzz112138
答案时间:2024-08-21
52 38 45 61 56 30 13 78 92 78 47 76 97 5 87 9 70 63 22 31 15 14 41 36 32 找出来最大的是:97 其坐标是[2][2]

huazhang
答案时间:2024-07-10
public class Paixu { public static void main(String[] args) { //声明数组 int array1[][]=new int [5][5]; for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { array1[i][j]=(int)(Math.random()*100); } } // 使用嵌套的增强型for循环遍历二维数组 for (int[] row : array1) { // 外层循环遍历每一行 for (int element : row) { // 内层循环遍历每一行的每个元素 System.out.print(element + " "); } System.out.println(); // 换行,以便清楚地看到每一行的元素 } //寻找二维数组的最大值 int max=array1[1][1]; for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { if(max<array1[i][j]) max=array1[i][j]; } } System.out.println("最大值是:"+max); } }

Aza200412
答案时间:2024-06-12
public class Main{ public static void main(String []args){ int arr [][]=new int [5][5]; for (int i=0;i<5;i++){ for (int j=0;j<5;j++){ arr[i][j]=(int)(Math.random()*100); } } for (int[] row : arr) { for (int each : row) { System.out.print(each + " "); } System.out.println(); } int max=arr[0][0]; int x=0; int y=0; for (int i=0;i<5;i++){ for (int j=0;j<5;j++){ if (arr[i][j] >max){ max=arr[i][j]; x=i; y=j; } }} System.out.print(max); System.out.println(); System.out.print("("+x+","+y+")"); }}

织织
答案时间:2024-06-07



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2023-05-22 随笔
我的咖啡没有卡布奇洛




随笔
public class Main {
    public static void main(String[] args) {
        int a[][] = new int[5][5];
        for(int i = 0;i < 5;i++)
            for(int j = 0;j < 5;j++){
                a[i][j]=(int)(Math.random()*100);
            }
        Dx Sy = new Dx();
        Sy.Dy(a);
        System.out.println(Sy.Dx(a));
    }
}

public class Dx {
    int a = 0;
    public void Dy(int b[][]){
        for(int i = 0;i < 5;i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(b[i][j]);
                System.out.print(" ");
            }
            System.out.println();
        }
    }

    public int Dx(int b[][]){
        for(int i = 0;i < 5;i++) {
            for (int j = 0; j < 5; j++) {
                if(b[i][j]>a){
                    a = b[i][j];
                }
            }
        }
        return a;
    }
}

							


8 个答案

桑--竹
答案时间:2024-04-22
package day02; import java.util.Random; //定义一个5X5的二维数组。 然后使用随机数填充该二维数组。 //找出这个二维数组里,最大的那个值,并打印出其二维坐标 public class q { public static void main(String[] args) { int[][] a=new int[5][5]; Random r=new Random(); for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ int b=r.nextInt(10,100); a[i][j]=b; } } for(int[] g:a) { for (int x : g) { System.out.print(x+" "); } System.out.println(); } System.out.println(); int max=a[0][0]; int c=0; int d=0; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ if(a[i][j]>max){ max=a[i][j]; c=i; d=j; } } } System.out.print("最大值为:"+max); System.out.println(); System.out.println("其下标为:"+c+","+d); } }

木宇
答案时间:2024-04-21
打卡

Asure47
答案时间:2024-03-04
javanoobbbb
答案时间:2023-12-26
答案

玉子
答案时间:2023-09-20
int[][] a= new int[5][5]; int max=0; int zbX=0; int zbY=0; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5 ; j++) { a[i][j]=(int) (Math.random() * 100); System.out.print("a["+i+"]"+"["+j+"]"+a[i][j]+" "); if (a[i][j]>max){ max=a[i][j]; zbX=i; zbY=j; } } } System.out.println("/////////////////////"); System.out.println(max+","+"a["+zbX+"]"+"["+zbY+"]");

CharlieLong
答案时间:2023-09-08
加长版海贼
答案时间:2023-08-08
借楼上答案,觉得比较好

073226329Fgs
答案时间:2023-06-21
使用for的强化版



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2022-08-24 二维数组答案
2022-03-04 答:
2022-02-13 练习


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 137 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-数组-二维数组 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图