packagede.ausgabevonsternzeichen;importjava.util.Scanner;publicclass ausgabevonsternzeichen {publicstaticvoidmain(String[] args){Scanner scanner =newScanner(System.in);System.out.println("Gib den Monat ein, in dem du geboren wurdest"+ scanner.nextLine());String string = scanner.nextLine();if(string.equals("Januar")){System.out.println("Du bist Steinbock");}}}
Ich will jetzt nicht immer zu jedem Monat sowas schreiben, irgendwie muss das doch auch kürzer gehen..
Auch mit Arrays wuerde das nicht Sinn machen, da ein Sternzeichen nicht (nur) mit einem Monat, sondern auch mit zwei und einem bestimmten Tag verbunden ist. Moechtest du den Tag nicht auch miteinbeziehen?
Du koenntest Arrays oder HashMaps benutzen, obwohl HashMaps bestimmt viel eleganter sind. Jedoch auch mit HashMaps wird dein Java-Programm nicht von alleine rausfinden, welches Sternzeichen zu welchem Datum gehoeren koennte - du muesstest sowieso initialisieren und durch die HashMap loopen.
Abgesehen von deiner gestellten Frage: hat es einen bestimmten Grund warum du nicht einfach in deinem bestehenden Thread weitergeschrieben hast sondern jetzt einen neuen Thread eröffnet hast?
Ich verstehe auch dein verkürzen nicht ganz: wie bereits erwähnt, egal welche Datenstruktur du nutzt, irgendwie musst du diese auch füllen, sodass ermittelt werden kann zu welchem Datum welches Sternzeichen gehört. Falls es dir nur darum geht die vielen else if zu eliminieren könntest du auch ein switch-case verwenden. Ist in diesem Fall auch viel schöner und besser lesbar.
Außerdem frage ich mich wieso du in der println-Methode auch vom scanner einliest. Willst du also, dass beim Programmstart nichts passiert (auch deine Ausgabe nicht, da diese erst nach einem Enter angezeigt wird), du dann Enter drücken musst, dann deine Ausgabe erscheint und du erst dann den Monat eingeben kannst?
Die Sternzeichen speicherst du dann in eine Liste List<Sternzeichen>.
Dann schreibst du dir eine Methode die anhand eines bestimmten Tages das richtige Sternzeichen zurückgibt. (Man kann auch Monat verwenden, dann musst du aber eine Liste von möglichen Sternzeichen zurückgeben)