내 코드 내에 논리 오류가있는 것 같습니다. 내 첫 번째 팬 객체 (FanOne)가 다음 출력을 표시해야하기 때문입니다. 속도 : 2, 반경 : 10.0, 색상 : 노란색.내 코드 내의 논리 오류
대신이 쇼의 속도가 : 내 setSpeed () 메서드를 잘못 무언가가 생각 1
을 ..하지만 의도 한대로 모든 것이 해결해야처럼 나에게 보인다. 조언 해주세요, 고마워요. speed
에 대한 setter 메소드에서
public class TestFan {
public static void main(String[] args) {
Fan FanOne = new Fan();
FanOne.fanOn();
FanOne.setColor("yellow");
FanOne.setCustomSpeed("MEDIUM");
FanOne.setCustomRadius(10);
System.out.println(FanOne.toString());
System.out.println();
Fan FanTwo = new Fan();
FanTwo.fanOff();
FanTwo.setCustomRadius(5);
FanTwo.setColor("blue");
System.out.println(FanTwo.toString());
}
}
public class Fan {
// Declare constant data fields
final int SLOW = 1;
final int MEDIUM = 2;
final int FAST = 3;
private int speed;
private boolean on;
private double radius;
private String color;
// Construct a default fan
public Fan() {
speed = SLOW;
on = false;
radius = 5;
color = new String("Blue");
}
// Set fan off
public boolean fanOff() {
on = false;
return on;
}
// Set fan on
public boolean fanOn() {
on = true;
return on;
}
public double getRadius() {
return radius;
}
// Set custom radius
public void setCustomRadius(double rad) {
radius = rad;
}
public int getSpeed() {
return speed;
}
// Set custom speed
public String setCustomSpeed(String speed) {
if (speed.equals("SLOW")) {
this.speed = SLOW;
} else if (speed.equals("MEDIUM")) {
this.speed = MEDIUM;
} else if (speed.equals("FAST")) {
this.speed = FAST;
}
return speed;
}
public String getColor() {
return color;
}
public void setColor(String colorName) {
color = colorName;
}
public String toString() {
if (on == true) {
return ("Speed: " + speed + ", " + "Radius: " + radius + ", " + "Color: " + color);
} else {
return ("Color: " + color + ", " + "Radius: " + radius + ", Alert: " + "The fan is off!");
}
}
}
Y Daniel Liang의 Java 교과서 소개. 나는이 문제를 수년간 가르치기 위해 그의 책을 사용했다는 것을 알고 있습니다! – hfontanez