为了账号安全,请及时绑定邮箱和手机立即绑定

foreach语句如何运用到2维数组

import java.util.Scanner;

public class demo4 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("*****请输入行数*****");

int n = input.nextInt() ;

System.out.println("*****请输入列数*****");

int m = input.nextInt() ;

int nums[][]= new int[n][m];

for (int cicle = 0;cicle<2;cicle++){

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

// for (int j=0 ;j<nums[i].length;j++){  (用这个就没有问题)

for (int j: nums[i] ){   //(问题在这里)

switch (cicle){

case 0:

System.out.println("***请输入第"+(i+1)+"行-第"+(j+1)+"列的数***");

nums[i][j]=input.nextInt();

break;

case 1:

System.out.print(nums[i][j]);

break;

}

}

if (cicle==1)

System.out.println();

}

}

}

}


测试报错为

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4

at com.yueru.demo4.main(demo4.java:21)

并且j的值始终未变

请问应该如何运用?

正在回答

2 回答

实测确实可以,赞个!!

有个疑问:这样写可以算是foreach的运用吗?

foreach的语句不是应该是:    for(int[] num : nums){ System.out.println(num);  } 

但这句 运行不行。

0 回复 有任何疑惑可以回复我~
#1

懒秋茵 提问者

谢谢啦,我发现foreach中定义的num貌似只能输出不能计算= =,不知道为什么
2015-06-19 回复 有任何疑惑可以回复我~

自己已解决

0 回复 有任何疑惑可以回复我~
#1

威哥好牛逼

怎么解决的
2015-08-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165237    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

foreach语句如何运用到2维数组

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信