java二维数组求和算法

Python011

java二维数组求和算法,第1张

二维数组的话,必须循环行和列,之后求总和即可:

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 = 0i <a.lengthi++) //双层循环计算二维数组

{

for(int j = 0j <a[i].length j++)

{

sum = sum+ a[i][j]

}

}

System.out.println(sum)//输出结果

}

}

Java里正确格式应该是写做

int[][] a={{123,345},{34,56},{34,56}}

a[2][1]结果是56 因为数组是从0开始的 所以[2]是指{34,56}这一组

同理 [1]是指第二个 即56

ps: 我的答案只给识货的人看

package zhidao

import java.util.Arrays

import java.util.LinkedList

public class RecursionSubNSort

{

public static void main ( String[] args )

{

int a = 0

String[] A = { "01", "09", "11", "07", "05", "02" }

String[] B = { "03", "08", "11", "07", "06" }

String bstr = " " + Arrays.toString (B).replaceAll ("[\\[\\],\\s]", ",") + " "

LinkedList<String[]> list = new LinkedList<String[]> ()

recursionSub (list, 1, A, 0, -1)

for ( String[] strings : list )

{

String s = Arrays.toString (strings)

String str = s.replaceAll ("[\\[\\]]", ",")

int i = bstr.split (str).length - 1

a += i

System.out.println (s + " 出现在B中的次数有:" + i)

}

System.out.println ("结果 a = " + a)

System.out.println ("======================================")

list.clear ()

a = 0

recursionSub (list, 2, A, 0, -1)

for ( String[] strings : list )

{

String s = Arrays.toString (strings)

System.out.println ("组合 " + s)

for ( String string : strings )

{

int i = bstr.split ("," + string + ",").length - 1

a += i

System.out.println (string + " 在B中出现的次数有:" + i)

}

}

System.out.println ("结果 a = " + a)

System.out.println ("======================================")

list.clear ()

a = 0

recursionSub (list, 5, A, 0, -1)

for ( String[] strings : list )

{

String s = Arrays.toString (strings)

System.out.println ("组合 " + s)

for ( String string : strings )

{

int i = bstr.split ("," + string + ",").length - 1

a += i

System.out.println (string + " 在B中出现的次数有:" + i)

}

}

System.out.println ("结果 a = " + a)

}

private static LinkedList<String[]> recursionSub ( LinkedList<String[]> list, int count, String[] array, int ind,

int start, int... indexs )

{

start++

if (start > count - 1)

{

return null

}

if (start == 0)

{

indexs = new int[array.length]

}

for ( indexs[start] = ind indexs[start] < array.length indexs[start]++ )

{

recursionSub (list, count, array, indexs[start] + 1, start, indexs)

if (start == count - 1)

{

String[] temp = new String[count]

for ( int i = count - 1 i >= 0 i-- )

{

temp[start - i] = array[indexs[start - i]]

}

list.add (temp)

}

}

return list

}

}