# Array mit int Werten füllen ( von z.B. 1 - x )



## chris009 (9. Nov 2007)

Hallo,

ich habe hier folgendes Array erstellt:


```
int[][] tage = new int[i][360]
```

Ich möchte nun, dass die erzeugten 360 Elemente ( siehe oben ) mit den Werten 1-360 fortlaufend gefüllt werden. Weiß jemand wie das geht, ohne dass ich dabei eine for schleife basteln muss?


----------



## SlaterB (9. Nov 2007)

ist das ein akademisches Experiment oder warum die Einschränkung 'ohne dass ich dabei eine for schleife basteln muss'

a la
weiß jemand wie ich einkaufen kann ohne Geld mitzunehmen?

--------

ein rekursiver Aufruf könnte das sonst noch, ist aber auch nur eine versteckte Schleife

360 Einzelkommandos sowieso


----------



## Guest (9. Nov 2007)

Es handelt sich hier um eine Frage und ich bitte um Hilfe.  :lol:


----------



## Kim Stebel (9. Nov 2007)

Ach das ist ne Frage? Hätte ich ja nicht gedacht. Hilfe wegen Klugscheißerei abgelehnt.


----------



## Marco13 (9. Nov 2007)

Kein Problem.


```
int m = 0;
int n = 1;
tage[0][m++] = n++;
...
(360 mal)
...
tage[0][m++] = n++;
```


----------



## @x.l (9. Nov 2007)

```
do {
    tage[0][i] = ++i;
} while (i < 360)
```

Ohne for - bloß was soll's bringen?


----------



## Guest (9. Nov 2007)

Und zwar möchte ich ein 2-dimensionals array so belegen, dass jeder einzelne Tagesnummer des entsprechenden Monats gespeichert wird.

Bsp:

1 = Januar, 2= ...


int[1][31] = { Zahlen von 1 - 31 }

int[2][28] = { Zahlen von 1 - 28 }

u.s.w.


----------



## maki (9. Nov 2007)

Eine for schleife bzw. zwei in einander geschachtelte for schleifen ist die einfachste und praktikabelste Lösung.


----------



## Guest (9. Nov 2007)

Ich habe schon folgendes versucht:


```
public void speicheretagesanzahl()
	{
		for (int i = 1; i < 12; i++) 
		{
			tagesanzahl = kalenderfunktionen.tage_im_monat(i, 2007);  // gibt Anzahl der Tage des Monats zurück.
			int[][] tage = new int[i][tagesanzahl];
			for (int j = 1; j < tagesanzahl; j++) 
			{
				j = tage[i][j];
			}
		}
	}
```

Es kommt allerdings folgende Fehlermeldung: java.lang.ArrayIndexOutOfBoundsException


----------



## Marco13 (9. Nov 2007)

Montate fangen (genau wie Array-Indizes) bei 0 an. Und es gibt 12 davon, und nicht i.


----------



## @x.l (9. Nov 2007)

Aussderdem solltest du das Array ausserhalb der for-Schleifen deklarieren.


----------



## SlaterB (9. Nov 2007)

for (int j = 1; j < tagesanzahl; j++) 
         { 
            j =
}

ist immer ein Fehler, egal was noch kommt, setze nie die Laufvariablen neu


----------



## fehlerfinder (9. Nov 2007)

Marco13 hat gesagt.:
			
		

> Kein Problem.
> 
> ```
> tage[0][m++] = n++;
> ...


Gröhl - du machst mir Spaß... ;-)


----------



## Roman.S (10. Nov 2007)

```
public class Kalender {
	public static void main(String[] args) {

		int[][] tage=new int[12][];
		int days=0;

		for (int month=0;month<tage.length;month++){
			switch (month) {
			case 0:days=31;

			break;
			case 1:days=28;

			break;
			case 2:days=31;

			break;
			case 3:days=30;

			break;
			case 4:days=31;

			break;
			case 5:days=30;

			break;
			case 6:days=31;

			break;
			case 7:days=31;

			break;
			case 8:days=30;

			break;
			case 9:days=31;

			break;
			case 10:days=30;

			break;
			case 11:days=31;

			break;

			default:
				break;
			}
			tage[month]=new int[days];
			for (int a=0; a<(tage[month].length); a++){				
				tage[month][a]=(a+1);			
				System.out.println((month+1)+" "+tage[month][a]+" "+tage[month].length);
			}
		}
	}
}
```
das müsst das sein was du wilslt oder?


----------

