Forum: PC-Programmierung String Array auslesen Java


von Helpme91 (Gast)


Lesenswert?

Hallo,

ich würde gerne ein Array anhand des index auslesen.

Ein Anwender soll eine Zahl zwischen 0 und 12 eingeben, danach soll in 
der Konsole z.B. der jeweilige Monat angezeigt werden.

Beispiel:

String array[] = {"Jänner", "Februar", "März" usw.}

Hier wäre der Index: 0 für Jänner, der Index: 1 für Februar usw.

Wenn jetzt der Anwender in der Konsole die Zahl 1 eingibt soll im 
"Februar" angezeitg werden usw.

Wie frage ich jetzt das beim Array ab?

: Verschoben durch User
von Tino (Gast)


Lesenswert?

auch wenn ich eine Antwort habe, aber deine Frage ist vielleicht in der 
Abteilung "Codesammlung" besser aufgehoben als bei Analogelektronik?!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, Fragen haben in "Codesammlung" nichts verloren.

Java programmiert man i.d.R. auf PCs, daher "PC-Programmierung".



An den Threadstarter:

Hast Du wenigstens mal ganz kurz in ein Java-Buch reingeguckt? Ich 
kann mir nicht vorstellen, daß dort nur beschrieben wird, wie man ein 
Array anlegt und mit Inhalten füllt, aber nicht, wie auf die Elemente 
des Arrays zugegriffen wird.

Nein, das kann ich mir wirklich nicht vorstellen.

von Stefan R. (srand)


Lesenswert?

Helpme91 schrieb:
> Wie frage ich jetzt das beim Array ab?

array[1]

von Karl Käfer (Gast)


Lesenswert?

Hi,

Helpme91 schrieb:
> Ein Anwender soll eine Zahl zwischen 0 und 12 eingeben, danach soll in
> der Konsole z.B. der jeweilige Monat angezeigt werden.

Dein Jahr hat dreizehn Monate?

HTH,
Karl

von K.B. (Gast)


Lesenswert?


von Udo S. (urschmitt)


Lesenswert?

Helpme91 schrieb:
> String array[] = {"Jänner", "Februar", "März" usw.}

Ich denke nicht, daß das kompilierbar ist.
Ist es zu viel verlangt wenigstens mal zu testen ob das was man hier 
reinschreibt wenigstens ohne Fehler übersetzbar ist?
Installiere dir Eclipse for java und lerne:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
http://www.eclipse.org/downloads/moreinfo/java.php

: Bearbeitet durch User
von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Udo Schmitt schrieb:
> Ich denke nicht, daß das kompilierbar ist.

Kannst du das den auch in irgendeiner Weise begründen? Das kompiliert 
wunderbar, wieso auch nicht? Das hier eine Auslassung eingefügt wurde 
macht doch der Sache an sich keinen Abbruch.

Udo Schmitt schrieb:
> Installiere dir Eclipse for java und lerne:

Auch Eclipse ersetzt das denken nicht, hätte aber gezeigt ob es 
kompilierbar wäre oder nicht.

Helpme91 schrieb:
> Hier wäre der Index: 0 für Jänner, der Index: 1 für Februar usw
Für Monatsnamen gibt es übrigens die Klasse 
http://docs.oracle.com/javase/7/docs/api/java/text/DateFormatSymbols.html

Udo Schmitt schrieb:
> http://[...]jdk7

Eclipse benötigt nicht zwangsläufig ein JDK da es seinen eigene Compiler 
und Toolset mitbringt.

von Udo S. (urschmitt)


Lesenswert?

Läubi .. schrieb:
> Kannst du das den auch in irgendeiner Weise begründen? Das kompiliert
> wunderbar, wieso auch nicht?

Kann ich, ich programmiere jetzt schon viele Jahre intensiv in Java 
(seit 1.3) aber so eine C Style Array Definition ist mir noch nie unter 
gekommen. Jetzt habe ich was gelernt, das lässt sich tatsächlich 
übersetzen, ist aber laut Doku "discouraged" und das mit Recht!
Eine Deklaration wo ein Teil des Typs erst nach dem Namen einer Variable 
deklariert wird ist in Java ... sagen wir mal sehr unüblich.

Läubi .. schrieb:
> Eclipse benötigt nicht zwangsläufig ein JDK da es seinen eigene Compiler
> und Toolset mitbringt.

Mag sein, da wir immer mit mehreren Java Versionen bis zurück nach 1.5 
ausführbar sein müssen habe ich immer JDKs auf dem Rechner.
Allerdings sagt die homepage zumindest 
(http://www.eclipse.org/downloads/moreinfo/java.php):

"What You Need
You will need a Java Runtime Environment (JRE) to run Eclipse IDE for 
Java Developers. A Java 5 JRE is recommended."

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Udo Schmitt schrieb:
> Eine Deklaration wo ein Teil des Typs erst nach dem Namen einer Variable
> deklariert wird

Wo siehst Du das? Da wird kein Typ deklariert, da wird ein Array 
initialisiert, d.h. mit Werten vorbesetzt.

Das ist das gleiche wie

int i = 5;

von Ratzfatz (Gast)


Lesenswert?

Er meint wahrscheinlich
int array[]
int[] array
Ist semantisch identisch (man sollte aber die zweite Form verwenden).

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Udo Schmitt schrieb:
> You will need a Java Runtime Environment (JRE)

JRE != JDK

Udo Schmitt schrieb:
> aber so eine C Style Array Definition ist mir noch nie unter gekommen

Man lernt nie aus ;-) Deshalb sollte man, was man nicht geprüft hat 
nicht gleich kategorisch von sich weisen.

von Til H. (turakar)


Lesenswert?

Das ob die [] Klammern davor oder danach kommen ist eigentlich egal (Die 
Frage ist so ähnlich wie als ob man fragen würde, ob ASM oder C besser 
ist...).
Zur Frage selber:
Ist eignetlich ganz einfach. Du musst zuerst bedenken, dass Arrays in 
Java (und in den meisten anderen Sprachen) nullbasiert sind, d.h. dass 
du 0; 1; 2; 3 usw zählst. Dann belibt noch die Konvertierung von String 
zu int, ist aber eigentlich auch trivial, man verwendet einfach 
Integer.valueOf(); ein kleines Codebeispiel (aus dem Kopf geschrieben):
1
String[] months = new String[]{"Januar", ...}; //evtl die vorgeschlagene Klasse verwenden
2
String in = [dein input, cmd oder sonst was];
3
try {
4
  int index = Integer.valueOf(in);
5
  if(index < 0 || index > 11) {
6
    System.out.println("Please enter a positive number between 0 and 11!");
7
  } else {
8
    System.out.println("Month: " + months[index]);
9
  }
10
} catch (NumberFormatException e) {
11
  System.out.println("Please enter a positive number between 0 and 11!");
12
}
Andernseits bleibt echt nur zu sagen übrig, dass du so etwas eigentlich 
nach jedem Java Tutorial können solltest und deswegen auch eines lesen 
solltest.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.