java二维数组求和算法

急求一个int[][]rr=newint[][3]这样一个3列的二维数组求和算法,要求第一列不相加第二列整列相加,第三列跟第二列一样,第一列相当一表示,跟Map里面的Ke... 急求一个int[] [] rr=new int[][3] 这样一个3列的二维数组求和算法,要求第一列不相加 第二列整列相加,第三列跟第二列一样,第一列相当一表示,跟Map里面的Key一样 展开
 我来答
198901245631
推荐于2017-09-13 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1688万
展开全部
二维数组的话,必须循环行和列,之后求总和即可:
public class Test
{
public static void main(String args[]) throws ParseException
{
int [][]a = {{1,2,4,5},{6,7,8,9},{10,11,12,13},{14,15,16,17}};
int sum =0; //设置sum为0,方便计算
for(int i = 0; i < a.length; i++) //双层循环计算二维数组
{
for(int j = 0; j < a[i].length ;j++)
{
sum = sum+ a[i][j];
}
}
System.out.println(sum); //输出结果
}
}
慕娥
2013-07-25
知道答主
回答量:44
采纳率:0%
帮助的人:31.6万
展开全部
int sum2 = 0, sum3 = 0;
for(int i = 0; i < rr.length; i++){
    sum2 += rr[i][1];
    sum3 += rr[i][2];
}
System.out.println("第二列和为:"+sum2+"\n第三列和为:"+sum3);

难道不是如此么?输出rr数组中第2列和第3列每列的和?

更多追问追答
追问
这是啊但是没有第一列啊
追答

ok,知道什么意思了。

试一下哈

int n = 3;
int[][] ret=new int[][n]; //存放结果数据
for(int i = 0; i < rr.length; i++){  //遍历数组rr
    int j = 0;
    //对其中的每一组值,都匹配rr[i][0]是否出现过
    for(;j < ret.length; j++){  
        //如果rr[i][0]已经出现过,则ret[j]除第一列外其他各列加上rr中对应的值
        if(rr[i][0] == ret[j][0]){
            for(int k = 1; k < n; k++){
                ret[j][k] += rr[i][k];
            }
            break;
        }
    }
    //如果rr[i][0]从未出现过,则j==ret.length,向ret中添加ret[j],各列的值初始化
    if(j >= ret.length){
        for(int k = 0; k < n; k++){
            ret[j][k] = rr[i][k];
        }
    }
}

不知道这样行不行。。这样应该rr[][4],rr[][5],rr[][6],也都可以吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Grape泡沫馨
2013-07-25
知道答主
回答量:36
采纳率:0%
帮助的人:15万
展开全部
public class shuzunum {
public static void main(String[] args) {
int a[][]={{4,5,6},{4,5,6},{4,5,5},{4,5,5}};
shuzunum(a);
System.out.println(shuzunum(a));
}
private static String shuzunum(int[][] a) {
int l1=a[0][0]; //第一列
int l2=0; //第二列
int l3=0; //第三列
for(int i=0;i<a.length;i++){
l2+=a[i][1];
l3+=a[i][2];
}
return l1+","+l2+","+l3;

}

}
追问
你知道咋个给二维数组赋值吗?int[][] dd=new int[count][2],里面的count是我数据的条数,我想把数据库查询的两个值给赋给二维数组;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭某人来此
2015-10-06 · TA获得超过1645个赞
知道答主
回答量:952
采纳率:100%
帮助的人:86.6万
展开全部
第三列相加吗?
public int [][] array=new int[][3];
public int index=0;
public void initArray(){
java.util.Scanner sc=new java.util.Scanner(System.in);

try{//输入非整数结束输入。
while(true){
array[index]=new int[3];

for(int i=0;i<3;i++){

array[index][i]=sc.nextInt();
}

index++;

}

}catch(Exception ex){

System.out.println("end of input");
}
}

public int add(){
int sum=0;

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

sum+=array[i][1];

}//此处仅第二列,即下标为1相加
//如果需要下标为2的相加,
//请自己在大括号里面加上sum+=array[i][2];即可
return sum;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Stale331x
推荐于2017-09-07 · TA获得超过1299个赞
知道小有建树答主
回答量:1276
采纳率:33%
帮助的人:825万
展开全部
第三列相加吗?
public int [][] array=new int[][3];
public int index=0;
public void initArray(){
java.util.Scanner sc=new java.util.Scanner(System.in);

try{//输入非整数结束输入。
while(true){
array[index]=new int[3];

for(int i=0;i<3;i++){

array[index][i]=sc.nextInt();
}

index++;

}

}catch(Exception ex){

System.out.println("end of input");
}
}

public int add(){
int sum=0;

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

sum+=array[i][1];

}//此处仅第二列,即下标为1相加
//如果需要下标为2的相加,
//请自己在大括号里面加上sum+=array[i][2];即可
return sum;

}
更多追问追答
追问
怎样不行吧,我想要的答案是比如第一列有两个3,两个4我想要的结果是{3,第二列的和,第三列的和};{4,第二列的和,第三列的和},按你这样第一列就变为0了
追答
- -  好吧,当我理解能力有问题,你可以再完整描述下吗?最好举个例子
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式