<문제>

interface: Speed

             필드명:   int SPEED= 10;

             메소드:   void upSpeed(int inc); //입력받은 속도가 양수인 경우

            voie downSpeed(int dec);    / //입력받은 속도가 음수인 경우

            void stop(); //입력받은 속도가 0 인 경우

interface: Display

             메소드 :  void  disp();         //계산,출력

class:Car

          필드명 : int inputVelocity;                 //입력받을속도

           int velocity;            //현재속도

          메소드 : void input();            //속도를 입력받고 disp()

Car 클래스를  Speed, Display  구현 받아서 처리

<**입.출력**>

속도입력 :  50

현재속도는  60km/h 입니다.

속도입력 : -20

현재속도는 40km/h 입니다.

속도입력 : -40

정지하셨습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import java.util.Scanner;
 
interface Speed{
    int SPEED = 10;
    void upSpeed(int inc);
    void downSpeed(int dec);
    void stop(); //입력속도 0인 경우
}
interface Display extends Speed{
    void disp();
}
class Cars implements Display {
 
    
    int inputVelocity;//입력받을속도
    int velocity = SPEED;            //현재속도
    //void input();            //속도를 입력받고 disp() 
    
 
    @Override
    public void disp() {
        if(velocity < 0 ) {
            stop();
        }
        if(inputVelocity >0) {
            upSpeed(inputVelocity);
        }
        else {
            downSpeed(inputVelocity);
        }
        
    }
    
    @Override
    public void upSpeed(int inc) {
        velocity +=inc;
        System.out.println("현재 속도는 " + velocity +"km/h입니다." );
        
    }
 
    @Override
    public void downSpeed(int dec) {
        // TODO Auto-generated method stub
        velocity +=dec;
        System.out.println("현재 속도는 " + velocity +"km/h입니다." );
        
    }
 
    @Override
    public void stop() {
        // TODO Auto-generated method stub
        System.out.println("정지하셨습니다.");
    }
 
    
}
 
public class Car_1{
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int inputVelocity;
        Cars car = new Cars();
        
        while(true) {
            System.out.println("속도 입력: ");
            car.inputVelocity = scanner.nextInt();
            
            
            car.disp();
            
            if (car.velocity <=0) {
                car.stop();
                break;
            }
        }
        
    }        
    
}
cs

 

 

 

<정답>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 
import java.util.Scanner;
 
interface Speed{
    int SPEED = 10;
    void upSpeed(int inc);
    void downSpeed(int dec);
    void stop(); //입력속도 0인 경우
}
interface Display extends Speed{
    void disp();
}
 
class car11 implements Speed, Display{
    int inputVelocity;
    int velocity = Speed.SPEED;
    void input() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("속도 입력: ");
        inputVelocity = scanner.nextInt();
    };
    @Override
    public void disp() { 
        // TODO Auto-generated method stub
        //속도 계산
        if(inputVelocity >=0) {
            upSpeed(inputVelocity);
        }
        else {
            downSpeed(inputVelocity);
        }
        
        //출력
        if(velocity <= 0) {
            stop();
        }
        else {
            System.out.println("현재 속도는 " + velocity +"km/h입니다.");
        }
    }
    @Override
    public void downSpeed(int dec) {
        // TODO Auto-generated method stub
        velocity += dec; // +하는 이유 -로 넘어오기 때문에
        
    }@Override
    public void stop() {
        // TODO Auto-generated method stub
        System.out.println("정지하셨습니다.");
        
    }@Override
    public void upSpeed(int inc) { //up, down따로 만들필요없었다..?
        // TODO Auto-generated method stub
        velocity += inc;
        
    }
//여기에 Override 안쓰면 car11에 빨간줄 뜸.
 
public class Car_1_correctanswer {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        car11 car = new car11();
        boolean stop = false;
        
        while(!stop) {
            car.input();
            if(car.velocity <=0) {
                stop = true;
            }
        }
 
    }
}
 
cs

'풀스택 > java' 카테고리의 다른 글

String에서 제공하는 메소드들  (0) 2022.04.29
자바_ Eclipse 단축키 모음  (0) 2022.04.19
자바_ 부모자식 클래스 상속 ~ 다형성까지  (0) 2022.04.14
자바 _ 상속관련 내용  (0) 2022.04.11
자바 메소드, 함수  (0) 2022.04.06

+ Recent posts