Java Car类AddDoor方法仅输出最终车门数结果的问题求解
问题原因
打印逻辑被错误放置在AddDoor()方法内部,每调用一次加车门方法就会执行一次输出。当前代码连续调用2次AddDoor():初始车门数为4,第一次调用后车门数变为5,触发第一行输出;第二次调用后车门数变为6,触发第二行输出,因此会输出多行中间过程值,无法得到仅展示最终结果的效果。
修正逻辑
- 剥离
AddDoor()方法的打印职责,方法内仅保留车门数累加的逻辑 - 所有添加车门的操作全部执行完毕后,再统一执行一次打印,输出最终的车门总数
修正后的完整可运行代码如下:
package Car; public class Main { public static void main(String[] args) { Car myCar = new Car(); myCar.AddDoor(); myCar.AddDoor(); // 所有操作完成后仅打印一次最终结果 System.out.println("the car has " + myCar.door + " doors"); } } class Car { public int door = 4; public void AddDoor() { this.door++; } }
运行上述代码后,控制台将仅输出单行目标结果:the car has 6 doors。
内容的提问来源于stack exchange,提问作者user215072
相关产品推荐
相关产品推荐

