H
HoaX
Gast
Bin ganz neu in Java, deshalb kenn ich viele der Grundlagen noch nichmal - also jeden Fehler erklären, der drin is plz.
Ich will ein Programm schreiben, dass erst einen Zufallswert zwischen 0.01 und 25.01 errechnet und dann diesen Betrag in die einzelnen Münzwerte aufstückelt und diese Aufstückelung dann ausgibt.
Es sollen die Münzwerte 10, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02 und 0.01 berücksichtigt werden.
Beispiel:
Zufallszahl: 14,53xxx
Ausgabe: 1x 10, 2x2, 0x1, 1x0.50, 0x0.20, 0x0.10, 0x0.05, 1x0.02, 1x0.01
Das hier hab ich bisher zusammengeschrieben, hoffentlich macht das wenigstens Ansatzweise, was ich beabsichtige
Beim Kompiliern gibt er mir 2 Fehler aus, und zwar in den Zeilen die ich fett geschrieben hab - er zeigt auf die kursive Klammer und sagt "possible loss of precision - found: double, required: byte" - warum ? Wie geht das weg?
Noch ne Frage - wofür is das float, das ich unterstrichen hab, gut? Hab da einfach irgendwas hingeschrieben, weil der Compiler das so wollte,...
Vielen Dank für alle Antworten!
Ich will ein Programm schreiben, dass erst einen Zufallswert zwischen 0.01 und 25.01 errechnet und dann diesen Betrag in die einzelnen Münzwerte aufstückelt und diese Aufstückelung dann ausgibt.
Es sollen die Münzwerte 10, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02 und 0.01 berücksichtigt werden.
Beispiel:
Zufallszahl: 14,53xxx
Ausgabe: 1x 10, 2x2, 0x1, 1x0.50, 0x0.20, 0x0.10, 0x0.05, 1x0.02, 1x0.01
Das hier hab ich bisher zusammengeschrieben, hoffentlich macht das wenigstens Ansatzweise, was ich beabsichtige
Code:
import java.lang.Math;
public class Wechselgeld {
public static void main(String[]args) {
byte bb, cc, muenze;
double[]a={10, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01};
double betrag;
betrag = Math.random ()*25+0.01;
System.out.println("Betrag: " + betrag);
}
public static [u]float[/u] ermittleStueckelung(double betrag, byte muenze, double[]a, byte bb, byte cc){
while (betrag > 0.01){
[b]cc=a[i][[/i]bb];[/b]
muenze=0;
if (betrag > cc) muenze++;
if (betrag > cc) betrag=betrag-cc;
else System.out.println(a + "Euro/Cent Muenzen: " + muenze);
[b]cc=a[i][[/i]bb+1];[/b]
}
}
}
Beim Kompiliern gibt er mir 2 Fehler aus, und zwar in den Zeilen die ich fett geschrieben hab - er zeigt auf die kursive Klammer und sagt "possible loss of precision - found: double, required: byte" - warum ? Wie geht das weg?
Noch ne Frage - wofür is das float, das ich unterstrichen hab, gut? Hab da einfach irgendwas hingeschrieben, weil der Compiler das so wollte,...
Vielen Dank für alle Antworten!