# Array in main Methode bilden und in einer Methode nutzen?



## Guest (10. Mai 2005)

Hallo Zusammen,

ich habe hier mal eine kleine bescheidene Frage. Sitze hier schon seit Stunden über meinen Büchern, komme aber nicht auf die Lösung.

Also folgendes Problem......


Ich erstelle in der Main Methode ein Array. Auf jene Daten möchte ich nun aus einer Methode, innerhalb der selben  Klasse zugreifen. Leider ists mir noch nicht geglückt....

Vielleicht kann we helfen (Müsste wohl recht simpel sein oder  :roll: )

Gruß Mufti


----------



## bygones (10. Mai 2005)

1. der array ist parameter für die Methode die ihn braucht
2. der array ist instanz bzw. static variable


----------



## L-ectron-X (10. Mai 2005)

Was du bisher an Code geschrieben hast würde auch helfen. Oder auch, auf welche Fehler bzw. Probleme du gestoßen bist.


----------



## Guest (10. Mai 2005)

Moin,

habs Problem gelöst indem ich das Array als Parameter an die Methode übergeben habe. Würde es auch gehen, ein mehrdimensionales Array an eine Methode zu übergeben ??? (Vermute ich mal)

Danke Gruß Mufti


----------



## Illuvatar (10. Mai 2005)

Probiers halt aus  Natürlich geht das


----------



## Guest (10. Mai 2005)

danke... werd ich mal probieren.....

gruß mufti


----------



## Marc-André Aßbrock (10. Mai 2005)

Du übergibst ja die Referenz. Ob es ein ein- oder mehrdimensionales Array, ein String oder irgend ein anderes (vielleicht selbstprogrammiertes) Objekt ist, ist völlig egal.


----------



## Guest (10. Mai 2005)

Moin nochmal,

also vielleicht könnte jemand das Anhand des folgendes Beispieles nöher erläutern.
Irgendwie will er das da unten nicht....


```
public class DatenEinlesen
{
           public static void main(String[] args)
               
 {
        int[] liste = new int[50];
        DatenVergleichen(int liste);
 }


static void DatenVergleichen(int liste)
     {
    
     }

}
```

Danke Gruß Mufti


----------



## mic_checker (10. Mai 2005)

1) Du musst der Methode ein int Array übergeben, kein einfaches int
2) Du rufst die Methode dann so auf:


```
int[] liste = new int[50];
....//Array wird gefüllt oder was weiss ich
datenVergleichen(liste);
```

Hab den Methodennamen noch klein geschrieben, solltest du im Source ändern.


----------



## Sky (11. Mai 2005)

Für eindimensionales Array: 
	
	
	
	





```
static void datenVergleichen(int[] liste) {
  // ...
}
```

Für mehrdimensionale Arrays: 
	
	
	
	





```
static void datenVergleichen(int[][] liste) {
  // ...
}
```


```
static void datenVergleichen(int[][][] liste) {
  // ...
}
```
 und so weiter...


----------



## appleman (31. Jan 2009)

Hallo

Ich hab ein ähnliches Problem, dashalb schreib ich das hier mal dazu. Ich kenn mich zwar schon recht gut mit java aus, behaupte ich mal, aber irgendwie zwickt's heute, wahrscheinlich ist es nur eine Kleinigkeit, aber ich komm eben nicht drauf.

Also, ich habe vor einiger Zeit einen, meiner Meinung nach recht genialen, Sudoku Solver in C geschrieben. Um ihn durch OO Konzepte noch verbessern zu können möchte ich ihn in Java komplett neu schreiben.

Ich habe also eine Klasse Sudoku und dazu zwei Konstruktoren, der eine soll aus einer Datei lesen, der andere einfach nur das 2 dimensionale array besetzen und noch ein andere Sachen machen.

Ich möchte aber nun, dass der eine Konstruktor den anderen aufruft und ihm das array übergibt, nur eben das geht nicht:


```
class sudoku
{
	private int[][]			table;
	
	sudoku(String filename)
	{
		// read from file
		int[][]	table_n=new int[9][9];
		In.open(filename);
		if(!In.done())
		{
			Out.println("ERROR: file not found!");
			In.close();
			return;
		}
		
		for(int y=0; y<9; y++)
		{
			for(int x=0; x<9; x++)
			{
				table_n[x][y]=In.readInt();
				if(!In.done())
				{
					Out.println("ERROR: file damaged!");
					In.close();
					return;
				}
			}
		}
		In.close();
		sudoku(table_n);     // hier entsteht der Fehler: cannot find symbol: sudoku(int[][])
	}
	
	sudoku(int[][] ntable)
	{
		if(ntable.length!=9 | ntable[0].length!=9)
		{
			return;
		}
		table=ntable;
        }
}
```

Kann mir jemand helfen? Vielen Dank.

mfg appleman


----------



## Gast (31. Jan 2009)

Probiers mit:

this(table_n);


----------

