java二维数组求和算法
急求一个int[][]rr=newint[][3]这样一个3列的二维数组求和算法,要求第一列不相加第二列整列相加,第三列跟第二列一样,第一列相当一表示,跟Map里面的Ke...
急求一个int[] [] rr=new int[][3] 这样一个3列的二维数组求和算法,要求第一列不相加 第二列整列相加,第三列跟第二列一样,第一列相当一表示,跟Map里面的Key一样
展开
展开全部
二维数组的话,必须循环行和列,之后求总和即可:
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); //输出结果
}
}
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); //输出结果
}
}
展开全部
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],也都可以吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
}
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是我数据的条数,我想把数据库查询的两个值给赋给二维数组;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第三列相加吗?
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第三列相加吗?
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;
}
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了
追答
- - 好吧,当我理解能力有问题,你可以再完整描述下吗?最好举个例子
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |