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);