# Thread: Sparse Matrix - need help. Array index of out bounds: 1

1. Member Join Date
Jan 2012
Posts
2
Rep Power
0

## Sparse Matrix - need help. Array index of out bounds: 1

hi there. first time here. im getting an array index out of bounds on my code. keep checking and simulating it but there no error on my simulating. when i run it, it gives an error arrays out of bounds: 1
any help??
this is my code.
Java Code:
```import java.util.Scanner;
public class Sparse {
int num = 0;
public void Count_Nonzero(int Arr1[][],int m, int n)
{
int Row = 0;
while(Row<m)
{
int Col= 0;
while(Col<n)
{
if (Arr1[Row][Col] != 0)
{
num++;
}
Col++;
}
Row++;
}

}

public static void main(String[] args) {
Sparse Keyboard = new Sparse();
Scanner scan= new Scanner(System.in);
System.out.println("Input rows");
int m=scan.nextInt();
System.out.println("Input Column");
int n=scan.nextInt();
int arr1[][] = new int [m][n];
for(int i=0; i<m;i++){
for(int j=0;j<n;j++){
System.out.println("Enter Element ["+i+"]["+j+"]");
arr1[i][j]=scan.nextInt();

}
}
Keyboard.sparse(arr1,m,n);

}

public void sparse(int Arr1[][],int m, int n)
{

int ArrNew[][] = new int [num+1];
ArrNew= m;
ArrNew= n;
ArrNew= num;
int Row = 0;
int I=1;
while (Row<m)
{
int Col=0;
while(Col<n)
{
if(Arr1[Row][Col] != 0)
{
ArrNew[I] = Row;
ArrNew[I] =Col;
ArrNew[I] = Arr1[Row][Col];
I++;
}
Col++;
}
Row++;
}
for(int i=0; i<m;i++){
for(int j=0;j<n;j++){
System.out.print("|"+ArrNew[i][j]+"| ");
}
System.out.println();
}
}

}```
Last edited by JosAH; 01-23-2012 at 08:11 PM. Reason: added [code] ... [/code] tags  Reply With Quote

2. Moderator   Join Date
Apr 2009
Posts
13,541
Rep Power
26

## Re: Sparse Matrix - need help. Array index of out bounds: 1

Please use code tags when posting code.
What is the full exception you are getting, and from what line of code?  Reply With Quote

3. Member Join Date
Jan 2012
Posts
2
Rep Power
0

## Re: Sparse Matrix - need help. Array index of out bounds: 1

sorry. how can you use code tags? newbie here.
the line : Keyboard.sparse(arr1,m,n);
and line : ArrNew[I] = Row;
are the problems. getting exception.  Reply With Quote

4. ## Re: Sparse Matrix - need help. Array index of out bounds: 1

I fixed the tags for you. b.t.w. those Exceptions also mention the line number where the Exception was thrown.

kind regards,

Jos  Reply With Quote

5. Member Join Date
Dec 2011
Posts
4
Rep Power
0

## Re: Sparse Matrix - need help. Array index of out bounds: 1

Make follwing change to remove runtime Error

int ArrNew[][] = new int [m*n];
//int ArrNew[][] = new int [num+1];
Also make some change to output code block
for(int i=0; i<m;i++){
for(int j=0;j<n;j++){
System.out.print("|"+ArrNew[i][j]+"| ");
}
System.out.println();
}
coz ArrNew[][] now have more colum
and more rows.......  Reply With Quote

6. ## Re: Sparse Matrix - need help. Array index of out bounds: 1 Originally Posted by Mr.Java Make follwing change to remove runtime Error

int ArrNew[][] = new int [m*n];
That way you get a 'sparse' array that takes more memory than a dense array; bad idea.

kind regards,

Jos  Reply With Quote

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•