# for schleife mit if bedingung



## sandrafee (7. Jan 2011)

Guten morgen,

habe folgendes problem. habe siehe unten einen teil der for schleife reingeschrieben wo ich denn ablauf nicht ganz verstehe.
meine matrix besteht aus einsen und nullen, allerdings verstehe ich die if bedingung nicht.kann ir das jemand in einfachen worten erklären.
ich danke vielmals.


```
for(int i=0; i<zeile; i++)				
		{			 
			for(int j=1; j<spalte; j++)
			{	
			
			  if(matrix[i][j-1]==1 && j==1) 
			    {                              
       			  Bild[i][j-1]=marker;		 
				   marker++;
			    }
```


----------



## bone2 (7. Jan 2011)

[c]if(matrix_[j-1]==1 && j==1)[/c]
wenn matrix feld (i/j-1) = 1 ist und j = 1 ist, dann_


----------



## Ezra (7. Jan 2011)

Seltsame Bedingung. Da kann man auch gleich schreiben

```
if (matrix[i][0] == 1)
```
Das ist äquivalent. 
Bedeutet, wenn der Inhalt Matrix in Zeile i und Spalte 0 gleich 1 ist, dann tue ...


----------



## sandrafee (7. Jan 2011)

aber welche position in der matrix ist denn 
	
	
	
	





```
j==1
```

kann ich in java eine matrix denn irgendwie darstellen um mir das bildlich darstellen?


----------



## Ezra (7. Jan 2011)

Das ist erstmal keine Position. Es sagt nur aus, dass die Variable j gleich 1 sein soll. Außerdem wird die Spalte j-1 abgefragt. Und was ist 1-1? Natürlich 0.


----------



## bone2 (7. Jan 2011)

ein zweidimensionales array ist einfach eine tabelle mit zeilen und spalten.

```
0 1 2 3 4
0[][][][][]
1[][][][][]
2[][][][][]
3[][][][][]
```


----------



## sandrafee (7. Jan 2011)

wie kann ich denn das 2 dimensionale array in der console ausgeben?


----------



## ARadauer (7. Jan 2011)

sandrafee hat gesagt.:


> wie kann ich denn das 2 dimensionale array in der console ausgeben?




```
public class Test1 {

   public static void main(String[] args){

      int[][] arr = { {1, 2, 3}, {4, 5, 6}};
      print2DimArr(arr);
   }

   public static void print2DimArr(int[][] arr) {
      for (int i = 0; i < arr.length; i++) { // für jede zeile
         for (int j = 0; j < arr[i].length; j++) { //für jede spalte in der aktullen zeile
            System.out.print(arr[i][j] + " "); //entsprechender wert ausgeben
         }
         System.out.println(); //neue zeile
      }
   }

}
```


----------



## sandrafee (7. Jan 2011)

wie kann ich denn im code vom letzten beitrag  an einer bestimmten postition eine bestimmte zahl eintragen.

damit habe ich es versucht, klappt irgenwie nicht. [Java]System.out.print(wert_[j] + "");[/Java]


gruß_


----------



## bone2 (7. Jan 2011)

System.out.print() ist zur ausgabe da, nicht um irgendwas zu ändern

weißt du überhaupt wie man einer variablen einen wert zuweist?


----------



## sandrafee (7. Jan 2011)

ja, z.B. [Java]int zahl=3;[/Java]


----------



## bone2 (7. Jan 2011)

```
int[][] array = new int[4][5];

  0  1  2  3  4
0[ ][ ][ ][ ][ ]
1[ ][ ][ ][ ][ ]
2[ ][ ][ ][ ][ ]
3[ ][ ][ ][ ][ ]

array[1][4] = 5;

  0  1  2  3  4
0[ ][ ][ ][ ][ ]
1[ ][ ][ ][ ][5]
2[ ][ ][ ][ ][ ]
3[ ][ ][ ][ ][ ]
```

so gehts


----------



## ARadauer (7. Jan 2011)

sandrafee hat gesagt.:


> wie kann ich denn im code vom letzten beitrag  an einer bestimmten postition eine bestimmte zahl eintragen.
> 
> damit habe ich es versucht, klappt irgenwie nicht. [Java]System.out.print(wert_[j] + "");[/Java]
> 
> ...


_

Schau dir bitte nochmal die Grundlagen an. Wenn ich sowas lese komm ich mir verarscht vor. Du gehts ja auch nichit in ein Lauf Forum und fragst wie du dir die Schnürsenkel zubindest..._


----------



## sandrafee (7. Jan 2011)

hatte bis jetzt nur Matlab als programmiersprache und da gibts vesehntliche unterschiede.

ich will nur wissen wie ich in diesem code eine position bestimme und einen wert reinschreiben.genauer in der for schleife?
[Java]
public class Test1 {

   public static void main(String[] args){

      int[][] arr = new int [10][10];
      print2DimArr(arr);
   }

   public static void print2DimArr(int[][] arr) {

      for (int i = 0; i < arr.length; i++) { 

         for (int j = 0; j < arr_.length; j++) { 

        	 arr[j] = 0; 





            System.out.print(arr[j] + " "); 
         }
         System.out.println(); 
      }
   }

}[/Java]_


----------



## Andi_CH (7. Jan 2011)

Auf Zeile 15 schreibst du eine 0 an die Position i/j des Arrays


----------



## sandrafee (7. Jan 2011)

obwohl ich eine größe von 10 im array habe gibt er mir aber nur 7 zeilen, und bei der position kommt ne fehler meldung.
[Java]
public class Test1 {

   public static void main(String[] args){

      int[][] arr = new int [10][10];
      print2DimArr(arr);
   }

   public static void print2DimArr(int[][] arr) {

      for (int i = 0; i < arr.length; i++) { 

         for (int j = 0; j < arr_.length; j++) { 

        	 arr[2][3] = 1; 





            System.out.print(arr[j] + " "); 
         }
         System.out.println(); 
      }
   }

}[/Java]_


----------



## bone2 (7. Jan 2011)

macht genau was dasteht


----------



## sandrafee (7. Jan 2011)

ich bin noch nicht angemeldet, kann deshalb die grafik nicht sehen.


----------



## bone2 (7. Jan 2011)

dann wird es zeit.

mehr als, es funktioniert fehlerfrei, kann ich dir auch nicht sagen.


----------



## sandrafee (7. Jan 2011)

ok.danke.


----------



## DerEisteeTrinker (7. Jan 2011)

```
import java.util.Random;

public class Moep {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int[][] array = new int[10][10];
		
		Random randomGenerator = new Random();
		
//		Initialisierung
		for (int i = 0; i < array[0].length; i++) {
			for (int j = 0; j < array[i].length; j++) {
				
				array[i][j] = randomGenerator.nextInt(100);

			}
		}

//		Ausgabe
		for (int i = 0; i < array.length; i++) { 
	          
	         for (int j = 0; j < array[i].length; j++) { 
	             
	            System.out.printf("%02d ", array[i][j]); 
	            
	         }
	         
	         System.out.println(); 
	         
	      }

		
	}

}
```

Damit wird ein Array erst gefüllt und dann ausgegeben.


----------



## ARadauer (7. Jan 2011)

aha und was hilft das dem Threadsteller wenn er meiner Meinung nach sein Programm nicht mal richtig kompilieren kann?


----------

