Java Figure类toString()实现是否符合返回String类对象的要求?
实现问题核查与修正
存在的问题
- 逻辑判断符使用错误
作业要求面积、周长同时大于0时返回三个字段的内容,你当前使用了||逻辑或运算符,只要其中一个值大于0就会触发多字段返回,不符合要求,需要替换为&&逻辑与运算符。 - 返回内容顺序不符合要求
作业要求返回顺序为「图形名称、面积值、周长值」,你当前的拼接顺序是周长、面积、名称,顺序倒置,建议额外添加字段说明文字,提升打印结果可读性。
「类的对象」表述说明
- 要求中「返回String类的对象」就是指返回String类型的实例,你当前方法的返回值类型定义、返回的字符串拼接结果都符合这个要求。
- 测试要求中「创建类对象」指的是调用
new Figure()生成的Figure类实例,System.out.println(object)自动调用toString是Java的内置语法特性,不需要额外调整逻辑适配。
修正后的代码示例
public String toString() { if(this.perimeter > 0 && this.squareArea > 0) { // 可根据需求调整格式化样式,此处添加了字段说明方便阅读 return this.name + " 面积:" + this.squareArea + " 周长:" + this.perimeter; } else { return this.name; } }
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

