Falsches Ergebnis mit "/" Operator

Y

yachty66

Mitglied
Ich bin super verwirrt, da ich bei dem "int end = zaehlerSum/zaehler;" Printbefehl auf ein falsches Ergebnis stoße. Es steht dort "45176/250", was eigentlich rund "180" als Ergebnis sein müsste, allerdings wird mir "250" als Ergebnis ausgegeben. Wie kann das sein?

Java:
public double getAverageIntensity(int[] coords) {
        int zaehlerSum = 0;
        int zaehler = 0;
        int startY = coords[1];
        int endY = coords[3];
        int startX = coords[0];
        int endX = coords[2];
        //int height = img.getHeight(), width = img.getWidth();
        for (int y = startY; y < endY+1; y++) {
            for (int x = startX; x < endX+1; x++) {
                int RGBA = img.getRGB(x, y);
                //System.out.println(x+"+"+y);
                Color c = new Color(RGBA);
                int red = c.getRed();
                int green = c.getGreen();
                int blue = c.getBlue();
                int sum = red+green+blue;
                zaehler = zaehler + 1;
                zaehlerSum = zaehlerSum +sum;
                //System.out.println(zaehler);
            }
        }
        System.out.println(zaehlerSum);
        System.out.println(zaehler);
        //int zaehlerIn = 0;
        //int etf = zaehler + zaehlerIn;
        int end = zaehlerSum/zaehler;
        System.out.println(end);
        System.out.println(zaehlerSum +"/"+end);
 
kneitzel

kneitzel

Top Contributor
Du gibst bei der letzten Ausgabe ja auch end aus und nicht zaehler. Die Zeile soll wohl sein:
System.out.println(zaehlerSum +"/"+zaehler);

Edit: zaehler wird ja oberhalb auch einmal ausgegeben. Da dürftest Du also auch die 180 zu sehen sein. Also etwas wie
45176
180
250
45176/250
dürfte derzeit die Ausgabe sein bei Dir.
 
M

M.L.

Top Contributor
Längerfristig dürfte auch (z.B.) "double" statt "int" ein passender(er) Datentyp für die Ergebnisse der Divisionsoperation sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Falsches Ergebnis bei Rechnung Allgemeine Java-Themen 1
J-Gallus Erste Schritte Wahrscheinlich Anfänger Fehler beim rechnen. Falsches Ergebnis. Allgemeine Java-Themen 9
D Timestamp to Date, ergibt falsches ergebnis Allgemeine Java-Themen 5
NicoDeluxe Download Textdatei falsches Charset Allgemeine Java-Themen 1
S Falsches Encoding bei Drag and Drop von Umlauten Allgemeine Java-Themen 16
D DecimalFormat: entfernt falsches Komma Allgemeine Java-Themen 12
L Gregorian Calender falsches Datum Allgemeine Java-Themen 2
A JSmooth nimmt falsches JRE! Allgemeine Java-Themen 5
S Seltsames Ergebnis mit Date-Klasse Allgemeine Java-Themen 6
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
T If Vergleich ergibt nicht das richtige Ergebnis Allgemeine Java-Themen 2
Chr1s ergebnis = Zahl? Allgemeine Java-Themen 3
R Threads asynchrone Tätigkeit mit Ergebnis Auswertung Allgemeine Java-Themen 4
Antoras Micro-benchmark für parallel vs. sequentiell erzeugt unerwartetes Ergebnis Allgemeine Java-Themen 8
S Ergebnis von Cursor c1 mit Cursor c2 vergleichen Allgemeine Java-Themen 3
M 2 Methoden, 2 Rückgabewerte, aber ein Ergebnis Allgemeine Java-Themen 7
N contains(.) liefert nicht erwartetes Ergebnis Allgemeine Java-Themen 3
M richtiges Ergebnis zählen und übergeben? Allgemeine Java-Themen 7
D Wann ist das ergebnis einer Rechnung eine Double? Allgemeine Java-Themen 7
K For-Schleife <> oder != Operator verwenden? Allgemeine Java-Themen 2
P Best Practice Wieso funktioniert der Modulo - Operator nicht? Allgemeine Java-Themen 2
T Modulo-Operator versagt bei zu großen Zahlen? Allgemeine Java-Themen 14
N Operator Verben? Allgemeine Java-Themen 7
G NPE Ternärer Operator Allgemeine Java-Themen 8
J ... Operator Allgemeine Java-Themen 3
A Collections.emptySet() und triärer Operator Allgemeine Java-Themen 5
S Kompositum Muster ohne Exception oder instanceof Operator Allgemeine Java-Themen 6
G tertiärer Operator Allgemeine Java-Themen 7
E |= operator Allgemeine Java-Themen 2
E String zuweisen mit ? Operator? Allgemeine Java-Themen 3
G warum operator || cannot be applied to int, double Allgemeine Java-Themen 11

Ähnliche Java Themen


Oben