定义一个名为Traingle 的类表示三角形,包含 length成员变量表示边长,带一个参数的构造方法,要求该类对象覆盖父类的equals()方法,当边长相等时认为两个对象相等。覆盖父类的 toString()方法,要求当调用该方法时输出对象格式如:三角形边长是:length=50,这里 50 是边长,由键盘输入。编写一个程序测试equals()和 toString()方法的使用。
时间: 2023-06-19 10:08:27 浏览: 130
下面是实现该题目的代码:
```java
import java.util.Scanner;
public class Triangle {
private int length;
public Triangle(int length) {
this.length = length;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Triangle)) {
return false;
}
Triangle other = (Triangle) obj;
return this.length == other.length;
}
@Override
public String toString() {
return "三角形边长是:length=" + length;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入三角形的边长:");
int length = scanner.nextInt();
Triangle triangle1 = new Triangle(length);
Triangle triangle2 = new Triangle(length);
System.out.println("triangle1.equals(triangle2):" + triangle1.equals(triangle2));
System.out.println("triangle1.toString():" + triangle1.toString());
System.out.println("triangle2.toString():" + triangle2.toString());
}
}
```
程序运行结果如下:
```
请输入三角形的边长:50
triangle1.equals(triangle2):true
triangle1.toString():三角形边长是:length=50
triangle2.toString():三角形边长是:length=50
```
可以看到,程序正确实现了 Triangle 类,并且覆盖了 equals() 和 toString() 方法,并且在测试时得到了正确的结果。
阅读全文