Objektorientierte Programmierung Fehler

mikyyy

Mitglied
public class Farben{

private int rot;
private int gruen;
private int blau;


public Farben(int rot,int gruen,int blau){

this.rot= rot;
this.gruen= gruen;
this.blau= blau;
}
public Farben invertiere(){
return new Farben(255 - rot, 255 - gruen, 255 - blau);
}
}



public class FarbenTest {
public static void main(String[] args) {

Farben f2 = new Farben (10,0,0);
System.out.println(f2.invertiere());

}
}

kann mior jmd bitte erklären wieso ich hier so etwas raus kriege : Farben@15db9742 ?
anstatt 245,255,255
 

Robat

Top Contributor
Was willst du denn ausgeben? Es muss halt eine String-Repräsentation deines Objektes sein...
Zum Beispiel:
Java:
@Override
public String toString() {
    return "blabliblubb";
}
 

mikyyy

Mitglied
Was willst du denn ausgeben? Es muss halt eine String-Repräsentation deines Objektes sein...
Zum Beispiel:
Java:
@Override
public String toString() {
    return "blabliblubb";
}

ich habe die Farben rot, grün und blau und soll von der Farbe rot(-> 255) - 10 abziehen.
Ausgabe: 245255255
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Sofern die Farben keine negativen Werte annehmen sollen (vermutlich zwischen 0 und 255), gibt es noch ein kleines Problem mit Deiner Klasse:
Code:
System.out.println(new Farben(300, 0, 0));
System.out.println(new Farben(300, 0, 0).invertiere());
 

flopalko

Bekanntes Mitglied
Sofern die Farben keine negativen Werte annehmen sollen (vermutlich zwischen 0 und 255), gibt es noch ein kleines Problem mit Deiner Klasse:
Code:
System.out.println(new Farben(300, 0, 0));
System.out.println(new Farben(300, 0, 0).invertiere());
Sinnvollerweise sollte man beim Konstruktor prüfen, ob die übergebenen Werte 0<=x<=255 sind. Dann kann dieser Fall nie auftreten.
 

Neue Themen


Oben