如何在Java方法中调用其他方法并将布尔输出转为指定文本
问题修正方案
1. 修复isFree方法,使其返回布尔值
原方法是void类型,仅打印结果,不符合“返回布尔值”的设计要求,需修改为返回boolean类型:
public boolean isFree() { // 直接返回判断结果,无需额外打印 return sweet.isEmpty(); }
直接返回sweet.isEmpty()的布尔结果,比冗余的if-else更简洁高效。
2. 修复information方法,正确调用isFree并拼接字符串
原写法isFree+是错误的(方法需通过()调用),需先调用方法获取布尔值,再转换为目标字符串后拼接:
public void information() { // 调用isFree获取结果,用三元运算符转换为"Yes/No" String availability = isFree() ? "Yes" : "No"; // 拼接并输出描述字符串 System.out.println(availability + ", this item is available for purchase."); }
补充提示
- 确保
sweet变量在两个方法中可访问(比如是类的成员变量) - 遵循单一职责原则:
isFree只负责判断并返回结果,information负责处理结果并输出,这样代码更易维护
内容的提问来源于stack exchange,提问作者user17273353
相关产品推荐
相关产品推荐

