Click here to Skip to main content
15,891,895 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Could someone let me know why my code will not print an int array, instead it prints a string such as [[I@1d256a73

Java
public class ArrayMultiplication {
	public static void main (String args []){
	int [][]a={{1,6,2},{4,18,3},{5,8,4}};
	int [][]b= {{9,12,13},{6,9,7},{32,4,3}};
	int [][]product = multiply (a,b);
	System.out.println (""+product);
	}
	public static int [][] multiply (int [][]a, int[][]b){
		int aRows=a.length;
		int aColumns=a[0].length;
		int bRows=b.length;
		int bColumns=b[0].length;
		if (aRows != aColumns || bRows != bColumns) {
			return null; 
		}
		int[][]resultantProduct = new int [aRows][aColumns];
		for (int i=0; i<aRows; i++) {
			for (int h=0; h<aColumns; h++) {
				resultantProduct [i][h] += a[i][h] * b[i][h];
			}
		}
		return resultantProduct;
	}
}
Posted
Updated 10-Nov-12 6:11am
v3
Comments
Richard MacCutchan 10-Nov-12 12:14pm    
If my suggestions solved the question then please mark it as the solution. But leave the original question intact so other people can read it and benefit from the information.

1 solution

Java
System.out.println (""+product);

product is the name of a two-dimensional array, but the println() function has no way of knowing how to print its contents, so it treats the address as an integer value and prints that. You need to write a loop to print each individual element of the array in whatever form and format you require.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900