Hallo !
Ich programmiere Momentan einen Spieleautomaten. Nun möchte hab ich ein Array erstellt, in welches nach jeder Umdrehung der Gewinn eigetragen wird. Bei drei gleichen 10€, bei 2 gleichen 2€ und sonst 0€. Nun möchte ich eine Statistik erstellen um zu sehen wie oft zb. der Hauptgewinn als 10 € gewonnen wurde.
Jetzt hab ich das programmiert aber es wird mir nichts ausgegeben und bei dem Pfeil der Code Markiert, jedoch ist dort kein error.
Java:
publicvoidzaehleHauptgewinne(){intAnzahlHauptgewinne=0;for(int i =0; i <= gewinn.length; i++){if(gewinn[i]==10)// <=={AnzahlHauptgewinne=AnzahlHauptgewinne+1;}}System.out.println("Hauptgewinne: ");}
Das Arrey heißt gewinn[] , der Index ist Spielezahl und und im Array sind platz für 1000 Spiele (gewinn[0], gewinn[1], gewinn[2], .....gewinn[999])
MFG
Wenn gewinn vom Typ Array ist, dann kann ja if(gewinn == 10) niemals wahr sein, denn 10 ist ja ein int und kein Array. Das passt also niemals zusammen.
Bitte Code-Tags verwenden (Toolbar im Editor die Schaltfläche </> ganz links).
Ansonsten wird eine Exception fliegen, weil Du bis incl. gewinn.length iterierst. Außerdem gibst Du am Ende nur "Hauptgewinne:" aus, ohne AnzahlHauptgewinne zu verwenden.
Wenn gewinn vom Typ Array ist, dann kann ja if(gewinn == 10) niemals wahr sein, denn 10 ist ja ein int und kein Array. Das passt also niemals zusammen.
Vielen Dank Oneixee5 für die Antwort auf meine Frage. Entweder ich stehe gerade auf dem Schlauch oder ich hab mich vorhin falsch ausdrückt. Das Array heißt gewinnen und es hat als Datentyp ein Int von mir erhalten.
Bitte Code-Tags verwenden (Toolbar im Editor die Schaltfläche </> ganz links).
Ansonsten wird eine Exception fliegen, weil Du bis incl. gewinn.length iterierst. Außerdem gibst Du am Ende nur "Hauptgewinne:" aus, ohne AnzahlHauptgewinne zu verwenden.
Vielen Dank für ihre Antwort, in Zukunft werde ich Code-Tags verwenden, vielen Dank für den Hinweis. Ich habe den Ausgabe Wert geändert zu AnzahlHauptgewinne. Jedoch weiß ich nicht was sie am Anfang genau meinen.
Eben falls wird mir beim Ausführen der Methode immer die Zeile markiert. (Zeile 6, sollte aber auch markiert sein.)
[CODE lang="java" highlight="6"]public void zaehleHauptgewinne()
{
int AnzahlHauptgewinne = 0;
for (int i = 0; i <= gewinn.length; i++)
{
if(gewinn == 10)
{
AnzahlHauptgewinne = AnzahlHauptgewinne + 1;
}
}
System.out.println("AnzahlHauptgewinne: ");
}[/CODE]
Hier wird versucht über gewinn zu iterieren: for (int i = 0; i <= gewinn.length; i++) da steht nicht gewinnen. Also das stimmt: "ich stehe gerade auf dem Schlauch"
Das Array hat immer den Datentyp Array. Die Elemente des Arrays sind vom Typ int. Hoffentlich verstehst du den Unterschied.
Ein Zug hat immer den Typ Zug. Im Zug sitzen aber Menschen, die haben immer den Typ Mensch. Der Zug bekommt nicht den Typ Mensch weil darin Menschen sitzen. -> Wenn es nicht Hinken würde, dann wäre es kein Vergleich!
Das Array hat immer den Datentyp Array. Die Elemente des Arrays sind vom Typ int. Hoffentlich verstehst du den Unterschied.
Ein Zug hat immer den Typ Zug. Im Zug sitzen aber Menschen, die haben immer den Typ Mensch. Der Zug bekommt nicht den Typ Mensch weil darin Menschen sitzen. -> Wenn es nicht Hinken würde, dann wäre es kein Vergleich!
Für jedes Array bietet Java eine bestimmte Variable an.
und vergleiche das damit was du hier machst.
Hier System.out.println("AnzahlHauptgewinne: "); gibst du nur den Text zwischen den "" aus. Was du aber willst ist den Wert der Variablen: AnzahlHauptgewinne ausgeben. Variablen beginnen übrigens mit einem kleinen Buchstaben.
Das ist richtig. Aber soweit kommt das Programm ja gar nicht, weil vorher eine IndexOutOfBounds-Exception fliegt. Wenn der erste Fehler korrigiert ist, kann man sich dann um diesen Fehler kümmern.