Hi @ all,
ich hab hier so ein paar allgm. Fragen über dieses Array Programm, würde mich freuen wenn mir jemand hilft.
Der Code:
Code:
package array;
import java.util.Arrays;
public class array
{
public static void main(String[]args)
{
int feld[]=new int [40];
for (int i=0; i<feld.length;i++)
{
feld [i]=i;
}
for (int i=0; i<feld.length;i++)
{
System.out.print(feld [i] + " ");
if (((i+1)%50) ==0) System.out.println();
}
}
}
Ich würde gerne den Ablauf dieses Programmes einwandfrei kapieren, verstehe aber leider so einiges nicht.
Bei int feld[]=new int[40] hier wird ein Integer feld mit dem Wert 40 erzeugt.
Bei for (int i=0; i<feld.length; i++) startet man eine for-Schleife bei der int i auf 0 gesetzt wird... und solange i kleiner ist als feld.length (in dem Fall 40) wird es immer um 1 erhöht (i++).
wieso muss hier feld =i; in der For-Schleife stehen?!?
Bei der zweiten for Schleife ist alles gleich bloß dass i ausgegeben wird (system.out.print) Kann mir bitte jemand nochmal sagen was der unterschied zwischen println und print ist?
die if (((i+1)%50) == 0) System.out.println(); Zeile verstehe ich gar nicht... ich denke aber dass das die Zeile sein sollte die besagt dass nach 10 Zahlen ein Zeilenumbruch gemacht werden soll... was stimmt hier nicht, bzw. wie soll ich diese Zeile verstehen?
Vielen Dank im Vorraus, falls sich jemand die Mühe macht diese vielen Fragen zu beantworten.
Ich würde gerne den Ablauf dieses Programmes einwandfrei kapieren, verstehe aber leider so einiges nicht.
Bei int feld[]=new int[40] hier wird ein Integer feld mit dem Wert 40 erzeugt.
nein, es wird ein in-Array mit 40-Feldern (Länge 40) erzeugt.
Bei for (int i=0; i<feld.length; i++) startet man eine for-Schleife bei der int i auf 0 gesetzt wird... und solange i kleiner ist als feld.length (in dem Fall 40) wird es immer um 1 erhöht (i++).
wieso muss hier feld =i; in der For-Schleife stehen?!?
Ok danke!
Das mit dem Modulo u.s.w verstehe ich schon.. bloß ich hab den zusammenhang nicht gecheckt.. weil er bei 49 ein Zeilenumbruch macht.. was eigentlich schwachsinn ist.. weil in der Aufgabenstellung steht dass nach 10 Zahlen also z.B
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
u.s.w
ein Zeilenumbruch kommen soll..
da wäre:
Code:
if (((i+1)%10) ==0) System.out.println();
da würde er bei 9 einen Umbruch machen, oder?
jedoch 9+1%10 ist ja eigentlich 1... wieso dann 0
Ich weiß noch dass das mit dem +1 irgendwie damit zusammenhing, dass die Zahlen ja von 0-... gehen und nicht von 1 also von 0 - 49 ist 50.. kann dass sein?