Java二维数组元素相加问题
packageretestC8;publicclassSummation{publicstaticvoidmain(String[]args){Stringstr[][]...
package retestC8;
public class Summation {
public static void main(String[] args) {
String str[][]=new String[][]{{"1","2"},{"3","4"},{"5","6"},{"7","8"}};//怎样将这个二维的字符串型数组里面的数值全部加起来?
int sum=0;
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
int myint=Integer.parseInt(str[i][j]);
sum=sum+myint;
}
}
System.out.println(sum);
}
}
//就这样运行会报错
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at retestC8.Summation.main(Summation.java:10) 展开
public class Summation {
public static void main(String[] args) {
String str[][]=new String[][]{{"1","2"},{"3","4"},{"5","6"},{"7","8"}};//怎样将这个二维的字符串型数组里面的数值全部加起来?
int sum=0;
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
int myint=Integer.parseInt(str[i][j]);
sum=sum+myint;
}
}
System.out.println(sum);
}
}
//就这样运行会报错
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at retestC8.Summation.main(Summation.java:10) 展开
4个回答
展开全部
package retestC8;
public class Summation {
public static void main(String[] args) {
String str[][]=new String[][]{{"1","2"},{"3","4"},{"5","6"},{"7","8"}};
//怎样将这个二维的字符串型数组里面的数值全部加起来?
int sum=0;
for(int i=0;i<str.length;i++){
for(int j=0;j<2;j++){
int myint=Integer.parseInt(str[i][j]);
sum=sum+myint;
}
}
System.out.println(sum);
}
}
修改之后的代码 内层for循环 循环的次数应该是一个下标对应二位数组的值的元素个数。。
例如:String str[][]=new String[][]{{"1","2"},{"3","4"},{"5","6"}
外层循环 i=0 的时候 值是 {"1","2"}
内存循环就只能是0跟1才能取得到值 如果值是{"1","2","3"} 那么内存循环就只能是0 跟1跟2才能取得到值
不知道我说的你能理解不.
展开全部
内层循环遍历的数组是str[i],所以循环次数应该是str[i].length
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:这个错误是数组下标越界
把for(int j=0;j<str.length;j++)改成for(int j=0;j<str[i].length;j++)就好了,
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:这个错误是数组下标越界
把for(int j=0;j<str.length;j++)改成for(int j=0;j<str[i].length;j++)就好了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i=0;i<str.length;i++){ for(int j=0;j<str[i].length;j++){ int myint=Integer.parseInt(str[i][j]); sum=sum+myint; }
}
java二维数组中,每一行就是一个数组。str.length取的是行数,str[i].length得到 的是第[i]行的元素个数
}
java二维数组中,每一行就是一个数组。str.length取的是行数,str[i].length得到 的是第[i]行的元素个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组下标越界
for(int i=0;i<str.length;i++){ for(int j=0;j<str.length;j++){
第二个str.length应该是str[0].length
for(int i=0;i<str.length;i++){ for(int j=0;j<str.length;j++){
第二个str.length应该是str[0].length
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询