# Monatsnamen Progi mit Array?



## JavaNull99 (24. Jun 2010)

Hallo,

versuche gerade ein Programm zu schreiben, das wenn man mit JOptionPane eine Zahl von eins bis zwölf eingibt, den dazugehörigen Monat ausspuckt. Leider kenne ich mich in Sachen Array noch nicht so gut aus und suche desswegen hier Hilfe.
Hoffe mir kann jemand helfen.

Hier mal der Anfang:


```
public class Monatsnamen
{
     public static void main (String [] args)
     {
          String strMonatszahl = JOptionPane.showInputDialog("Geben Sie bitte die Zahl für
          den Monat ein!")
          int iMonatszahl = Integer.parseInt (strMonatszahl)

         // Hier sollte denke ich der Array losgehen?

     }
}
```

weiter weiß ich leider nicht.

Danke für Hilfe.

Gruß


----------



## Foermchen82 (24. Jun 2010)

Warum so kompliziert? Nimm doch einfach nen Caldender und du kannst dir den Monat direkt ausgeben lassen. Schau dir dazu mal "Calendar" und "DateFormat" an


----------



## Eldorado (24. Jun 2010)

Also erstmal ist es eine ganz schlechte mit grafischen Oberflächen anzufangen, wenn du nicht mal weißt was ein Array ist. So kannst du eine Array erzeugen(Datentyp String):

```
String[] monate = new String[12];
```
und dann so füllen:

```
monate[0] = "Januar"; ...
```
oder gleich so:

```
String[] monate = {"Januar", "Februar", "..."};
```
mfg
Eldorado


----------



## eRaaaa (24. Jun 2010)

Hi, 
wie man Arrays deklariert/füllt/zugreift findest du hier: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.10 Arrays

Darauf achten dass Arrays beim Index 0 beginnen !

Ansonsten wäre das auch direkt ein super Einstieg in enums 

EDIT : @Foermchen82: Denke es geht hier um den Lerneffekt


----------



## JavaNull99 (24. Jun 2010)

Danke, das ging ja schnell.
So klappts.

Gruß


----------



## JavaNull99 (24. Jun 2010)

Musste doch nochmal öffnen.
Jetzt hab ich das Problem, dass ich die Eingabe durch JOption nicht
mit den Array verbinden kann.
Wie kann man das bewerkstelligen?
Oder brauche ich eine Schleife die alle Arrays durchgeht und mit dem Eingabewert vergleicht?

Hier mal mit dem Array


```
import javax.swing.JOptionPane;


public class Monat 
{
	public static void main(String[] args) 
	{
		String strMonatszahl = JOptionPane.showInputDialog("Zahl");
		int iMonat = Integer.parseInt(strMonatszahl);
		
		String[] monate = new String[12];
		monate[0]="Januar";
		monate[1]="Februar";
		monate[2]="März";
		monate[3]="April";	
		monate[4]="Mai";
		monate[5]="Juni";
		monate[6]="Juli";
	    monate[7]="August";
	    monate[8]="September";
	    monate[9]="Oktober";
	    monate[10]="November";
	    monate[11]="Dezember";
			
			
			
			
			
			
	}

}
```

Danke für Hilfe.


----------



## Eldorado (24. Jun 2010)

```
monate[iMonat-1];
```


----------



## JavaNull99 (24. Jun 2010)

Hallo Eldorado,

danke aber leider kann ich damit nichts anfangen. Hab es so versucht, aber bekomme dann immer bei der Ausgabe eine Fehlermeldung.


----------



## eRaaaa (24. Jun 2010)

Wenn du Fehlermeldungen bekommst wäre es auch immer gut wenn du die nennen würdest (hier wahrscheinlich ArrayIndexOutOfBounds ?? )

Du musst im JOptionPane so(mit dem Schnippsel von Eldorado) natürlich dann auch eine Zahl 1-12 eingeben (also so wie man es auch erwartet, nicht wie es intern durch das Array geregelt wird)


```
if (iMonat > 0 && iMonat < 13) { //1-12
			System.out.println(monate[iMonat - 1]);
		}
```


----------



## JavaNull99 (24. Jun 2010)

Alles klar, danke. Jetzt funktioniert es.


----------

