Frage von ThunderMak3r, 121

Kann jemand diesen Java Quellcode erklären?

Hallo Ich verstehe den Quellcode soweit nur warum kommt in der 3. zeile dieser Code "int text = (int)" Was hat das für ein nutzen?Das math.random verstehe ich aber warum das davor?

public void wuerfeln() {
     String[] seite = {"Birne","Apfel","Pflaume","Kirsche","Korb","Rabe"};
     int text = (int)(Math.random()*6);
     System.out.println(seite[text]+" gewürfelt");
    }   
Antwort
von Odorwyn, 75

Hi Thunder!

Das (int) bedeutet das der Wert der aus Math. Kommt zu einem Integer gecasted wird - Das heißt das der finale Wert definitiv als integer behandelt wird und deswegen in die Variable passt.

LG

Antwort
von janwelter, 62

Mit der Klammer lassen sich Variablen Casten, was bedeutet das der entwert definitiv diesem entspricht.
In deinem Fall wird der Wert zu einem Int gecastet

Antwort
von RedKungFuMastr, 54

Da die Methode Math.random() einen Double Wert ausgibt, wird das Ergebnis eine Double Zahl.

Das (int) wandelt diese Double Zahl in einen Integer Wert um, damit es der Integer Variable text zugewiesen werden kann.

Antwort
von 969669, 33

Es wird ein Int (Ganze Zahl) definiert, welche in dem Fall eine zufällige Zahl*6 ist.

Antwort
von Borgler94, 27

das int sorgt dafür dass es eine ganze zahl wird... sonst könnte ja z.b. 4,32433 rauskommen..

(int) macht das deine Variable zum typ Integer wird...
ist also in deinem fall ein cast von double auf int

Antwort
von Berny96, 59

Wenn Math.random ein Float zurück gibt sorgt das (int) dafür das der Wert in einem Integer Konvertiert wird. Das kannst du mit allen Datentypen machen und sorgt für weniger Fehler :)

Kommentar von RedKungFuMastr ,
Kommentar von Berny96 ,

Wenn

Ich benutze Java nicht daher wusste ich nicht was zurück gegeben wird. Ist ja auch egal, trägt ja nichts zur Sache bei :)

Kommentar von RedKungFuMastr ,

Dass man nie vor so einem Problem Stand, heißt nicht, dass es nicht dazu beiträgt. Man erkläre eine Sprache, und das korrekt. Double ist ein 64 Bit Wert, Float ist ein 32 Bit Wert. Eins ist genauer als das andere. Im dem Sinne weiß der Fragesteller nun mehr als zuvor und deswegen existiert hier die Plattform, um seinen Geist zu erweitern. (Punkt) :D

Kommentar von Berny96 ,

Hääää? Ich stand mal vor so einem Problem. Und jetzt? xD  

Es geht hier einzig und allein darum was casten ist und weshalb man es verwendet. was ein double oder float ist hat nichts damit zu tun und trägt nichts zur Sache bei. Der Fragesteller hat offensichtlich Grundkenntisse in der Programmierung, deshalb macht es absolut keinen Sinn ihn jetzt doubles und floats zu erklären. Ich glaube eher du bist so einer von denen die hier bekannt geben müssen das die ne Ahnung haben obwohl nur wenig davon vorhanden ist. Ich wollte dich jetzt nicht angreifen aber das hier ist ein Level Klugscheißer zu hoch für mich. :)

Kommentar von RedKungFuMastr ,

Es ist mir egal, ob du es nicht siehst, und deine Vorstellungskraft, dass jeder vor dir ein Klugscheißer sein soll, der eigentlich nur dein falsches Argument berichtigen will, aber sei es drum. Ist nicht mein Problem xD

Kommentar von Berny96 ,

Was denn für ein falsches Argument? xDDD

Kommentar von RedKungFuMastr ,

Kleiner Tipp am Rande, "falls" ist nicht gleich "wenn", also trifft deine Aussage mit "wenn" nie zu xD

Kommentar von Berny96 ,

Es geht also darum das ich wenn verwendet habe ohne am ende würde dran zu hängen. Ich hab echt kurz gedacht du bist kein Klugscheisser haha :D Du verstehst aber das die Frage überhaupt nicht darum handelt richtig? Und du verstehst das ich nie versucht habe zu argumentieren?

Kommentar von maximilianus7 ,

.... und was nützt eure diskussion dem fragesteller?

Kommentar von Berny96 ,

Absolut garnichts. Ich mag es einfach nicht wenn mir was unterstellt wird. Ich denke die Sache ist gegessen :)

Kommentar von RedKungFuMastr ,

Ich will ja nicht wieder anfangen, aber du hast dich selbst widersprochen xD

Das kann gerne so weiter gehen wenn du willst xD

Kommentar von Berny96 ,

Gerne. Wie hab ich mich wiedersprochen?

Kommentar von RedKungFuMastr ,

Wem soll ich was erzählen, wenn er es nicht sieht, fang von oben an, ansonsten stimmt wirklich was nicht mit dir ^^

Kommentar von Berny96 ,

Mir ist jetzt eins klar geworden und zwar fällt es dir leicht mit der deutschen Sprache umzugehen weil du damit aufgewachsen bist und da du ganz easy deine Sätze so formulieren kannst das du dich 30 Jahre älter anhörst als du eigentlich bist kannst du ganz gelassen vor deinem Monitor sitzen und brauchst dir gar keine Sorgen machen das irgendeine zufällige Person dein Ego angreift weil du ihn ja am Ende mit deinem Satzbau wieder aufbaust. Dabei vergisst du aber das Grundlegende wobei es überhaupt geht und verfängst dich in deinen eigenen Sätzen bis du dich selber nicht mehr verstehst.

"der eigentlich nur dein falsches Argument berichtigen will."

Ich hatte nirgendswo "argumentiert" sondern lediglich angegeben dass (int) den Wert Castet. Was jetzt gerade die eine Methode für einen Rückgabetyp hat war mir in dem Moment egal weil der Knackpunkt offensichtlich wo anders lag. Daher schrieb ich auch "wenn".

So, du hast mich anschließend korrigiert und ich bin drauf eingegangen und habe versucht nochmal deutlich zu machen dass das was du mir versucht hast zu sagen ich schon wusste und vorher auch schon versucht hatte in das "wenn" zu verpacken. 

Auf einmal heißt es von deiner Seite aus:

  • Ich sei noch nie auf ein solches Problem gestoßen 
  • Ich versuche irgendetwas zu argumentieren
  • Ich versuche die Sprache Java zu erklären (WANN IST DAVON DIE REDE?)

Ich finds ja gut das du falsche Thesen berichtigen willst aber stell dich beim nächsten mal bitte nicht mental auf eine höheren Ebene denn erstens folgt daraus so oder so nur eine sinnlose Diskussion und zweitens folgen von deiner Seite nur noch leere Argumente die goldig aussehen. Und bitte, nochmal BITTE frag mich jetzt nicht wie ich darauf komme das du dich mir höher gestellt hast. Danke. :))

Kommentar von privatestatic ,

Zum Glück "bitcht" man sich auf stackoverflow i.d.R. nicht so hart an^^

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten