Söka i en "2d" array [JAVA]?
Hej, jag har problem med att skirva en kod för sökning av en "2d"-array, 10 x 10. Man ska kunna söka efter ett valfritt tal och sedan få reda på om talet finns med bland den alstrade talföljden, och i så fall printa ut i vilken rad respektive kolumn den befinner sig i. Jag har ingen aning hur jag ska bära mig åt då jag ska söka i flera arrayer och få fram ett gemensamt resultat. Jag skriver ut koden, så långt jag kommit, har lyckats sortera med hjälp av att kovertera en 2d array till 1d och sedan återigen till en 2d array. (har även en mainklass som anropar dessa metoder..)
import java.util.Random;
public class MetodKlass1 {
private final int MaxRad = 10;
private final int MaxKol = 10;
public int mainArray2d[][] = new int[MaxRad][MaxKol];
public void alt1()
{
Random rand = new Random();
for(int r=0; r<MaxRad; r++)
{
for(int k=0; k<MaxKol; k++)
{
mainArray2d [r][k] = rand.nextInt(900) + 1;
}
}
for(int i=0;i<mainArray2d.length;i++)
{
for(int j=0;j<mainArray2d[i].length;j++)
{
System.out.print(mainArray2d[i][j]+"\t");
}
System.out.println();
}
}
public void alt2()
{
int array1d[] = new int[MaxRad*MaxKol];
int n = 0;
boolean inRange = true;
for( int x=0; x < MaxRad && inRange; x++)
{
for(int y=0; y < MaxKol && inRange; y++)
{
array1d[n++] = mainArray2d[x][y];
inRange = (n < array1d.length) ;
}
}
for(int i=1; i<array1d.length; i++)
{
int abc = array1d[i];
int k = i - 1;
while (k >= 0 && array1d[k] > abc)
{
array1d[k + 1] = array1d[k];
k--;
}
array1d[k + 1] = abc;
}
int position1d = 0;
for(int r = 0; r < 10 ; r++)
{
for(int k = 0; k < 10 && position1d < array1d.length ; k++)
{
mainArray2d[r][k] = array1d[position1d++];
}
}
for(int i=0;i<mainArray2d.length;i++)
{
for(int j=0;j<mainArray2d[i].length;j++)
{
System.out.print(mainArray2d[i][j]+"\t");
}
System.out.println();
}
}
public void SEARCH()
{
}