Ich habe die Originalzeilen rauskommentiert.
Das Ergebnis ist leider nicht das was ich erwartet habe. Wenn ich es ausführe zeigt mir Eclipse die Zahlen nicht in einer sondern in 6 aufeinanderfolgenden Boxen an (durch klicken auf OK).
Wie lass ich das Ergebnis auf eine Box anzeigen? Wenn möglich untereinander?
Du erhältst immer eine neue MessageBox, weil du ja jedesmal eine neue startest.
Damit du nur eine mit allen Zahlen erhältst musst du dir zuerst den String aufbauen, welcher dann angezeigt werden soll - z.B.:
das "<br>" hänge ich ran, weil man in labels html nutzen kann und somit auch Zeilenumbrüche darstellbar sind.
Den eigentlichen ausgabeString musst du dann noch mit html-Tags umranden
Java:
String ausgabe ="<html> Die zahlen sind<br>"+ zahlen +"</html>";
Den Text musst du natürlich noch für dich anpassen, aber im groben funktioniert das so.
Das showMessageDialog rufst du dann nach der Schleife auf und sagst es soll den String ausgabe anzeigen lassen.
wo hast du den eine solche Schreibweise her oO. Gewöhne dir das besser garnicht erst an, solltest du das mal beruflich machen wollen, dann darfst du es dir unter garantie später wieder abgewöhnen. Bleib beim gewohnten:
Java:
System.out.println(Nr+". Ziehung: "+Zufall)
und hier haben wir noch das nächste Konventionsproblem: variablen/referenzen in lowerCamelCase schreiben:
Java:
System.out.println(nr +". Ziehung: "+ zufall)
und i.d.R nutzt man hier in der for-schleife den variablenname [c]i[/c]. Natürlich geht auch ein eigener, ich wollte nur darauf hinweisen. An und für sich verstößt es nämlich gegen keine Konvention.
Ich habe nun einige Varianten durchprobiert um die erwähnten Zeilen einzufügen, leider nohc immer nicht das Ergebnis was ich haben wollte. Könntest du mir die Zeilen einfügen? Vielleicht hab ich es in die falsche Zeile reingetan (anfänger eben).
Danke auch für den Hinweis bezüglich der Schreibweise. Mein Kurs fängt in März an und ich bereite mich mit einem empfohlenen Buch vor (Java for Kids. Wenn du eine bessere Empfehlung hast lass es mich bitte wissen. Und ja mein Ziel ist es damit beruflich weiterzukommen.
importjavax.swing.JOptionPane;publicclassTest{publicstaticvoidmain(String[] args){String message ="<html>Ihre Lottozahlen:<br>";for(int i =1; i <=6; i++){
message += i +".: "+((int)(Math.random()*49)+1)+"<br>";}JOptionPane.showMessageDialog(null, message);}}
Anzumerken ist, dass Zahlen doppelt vorkommen können.
Ausserdem glaube ich nciht, dass dir meine Lösung groß weiterhilft. Denn wenn du nicht wusstest wo was hingehört, hätte es wahrscheinlich mehr geholfen zu zeigen was du versucht hast und gesagt zu bekommen warum das falsch war .
Aber um ganz ehrlich zu sein weiß ich jetzt auch nicht so groß wo man da was mit der Reihenfolge durcheinander bringen kann.
Ich hab das total falsch eingefügt. Mir ist jedoch aufgefallen, dass du den html-tag nicht geschlossen hast. Scheint aber keine grosse Auswirkung zu haben. Ich werde mal versuchen es in andere Übungen einzufügen. Danke nochmal für die Hilfe.
Wenn man nur Zeilenumbrüche will, kann man auch mit einem schlichten "\n" für den Zeilenumbruch auskommen ?
Braucht man keine anderen html-Tags drummachen.
Sicher, dass das wirklich eine Rolle spielt ?
\n ist ja eigentlich nicht für Windows und trotzdem funktioniert es auch unter Windows. Dachte immer, dass
es eben vom JLabel verarbeitet wird, unabhängig vom OS.
\n funktioniert unter allen OS. Ist ja ein Java-String, welcher von Java-Komponenten (JLabel, JTextField usw.) verarbeitet wird. Das hat nichts mit dem OS zu tun.
Außerdem weiß ich aus eigener Erfahrung, dass es unter Win 2000, Xp, Vista und 7; Mac OSX 10; Ubuntu und Knoppix funktioniert.
HTML-Tags würde ich vielleicht verwenden, wenn man Strings für Webseiten oder Sonstiges exportieren möchte oder diese importiert.
In diesem Falle wohl weniger. Aber Windows nutzt hier normal [c]\r\n[/c]. Was dabei rauskommt, wenn man nur \n verwendet, kann man sehen, wenn man eine solche Textdatei im normalen WindowsEditor öffnet....Man hat eine Zeile.
Allerdings spielt es wohl wirklich keine Rolle, wenn man moderne Editoren Benutzt. Diese akzeptieren (oft) beides.
Für Java-Componenten wurde ja bereits angesprochen: hier entscheidet wohl nicht das OS, wo ein Zeilenumbruch zu tätigen ist und wo nicht.
Auf der sicheren Seite ist man, wenn man Andi_CH's post berücksichtigt.