import java.io.*;
public class Bewertung {
int schwarze;
int weisse;
此类构造对象,这些对象必须具有 schwarze 和 weisse 的属性。默认构造函数:
public Bewertung() {
schwarze = 0;
weisse = 0;
}
构造函数:
public Bewertung(int sw, int ws) {
schwarze = sw;
weisse = ws;
}
到字符串方法。这是某处的错误,因为当我尝试使用此方法发出对象时,我在终端中得到了一些疯狂的东西。
public String toString() {
int x = this.schwarze;
int y = this.weisse;
char x2 = (char) x;
char y2 = (char) y;
String Beschreibung = x2 + "," + y2;
return Beschreibung;
}
此方法通过比较它们的属性来检查两个对象是否相同。
public boolean equals(Bewertung o) {
if (this.schwarze == o.schwarze && this.weisse == o.weisse) {
return true;
}
else return false;
}
此方法使用您在终端中提供的属性创建一个新对象,工作正常。
public static Bewertung readBewertung() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("Gib die Zahl fuer Schwarz ein.");
String zeile;
int wert=0;
zeile=br.readLine();
int eingabe1=(new Integer(zeile)).intValue();
System.out.println("Gib die Zahl fuer Weiss ein.");
zeile=br.readLine();
int eingabe2=(new Integer(zeile)).intValue();
Bewertung neueBewertung = new Bewertung(eingabe1, eingabe2);
return neueBewertung;
}
Main-Method:这里我们构造了两个对象,用 readBewertung()-Method 构造了两个新对象,然后我们尝试打印它们并做一些其他的事情。除了印刷,一切都很好。
public static void main(String[] args) {
try
{
Bewertung Bewertung1 = MeineBewertung1.readBewertung();
System.out.println(Bewertung1.toString());
Bewertung Bewertung2 = MeineBewertung2.readBewertung();
System.out.println(Bewertung2.toString());
if (Bewertung1.equals(Bewertung2)) {
System.out.println("Die beiden Bewertungen sind identisch!");
}
}
catch ( IOException e)
{
}
}
}
问题:我得到了一些正方形而不是字符串中的对象。我不知道出了什么问题,但错误必须在 to.String() 方法中的任何地方。