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
auch wenn ich eine Antwort habe, aber deine Frage ist vielleicht in der Abteilung "Codesammlung" besser aufgehoben als bei Analogelektronik?!
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.
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
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
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.
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."
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;
Er meint wahrscheinlich int array[] int[] array Ist semantisch identisch (man sollte aber die zweite Form verwenden).
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.