<문제>
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 |