-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
123 lines (78 loc) · 5.27 KB
/
Solution.java
File metadata and controls
123 lines (78 loc) · 5.27 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//Greater love has no one than this, that someone lay down his life for his friends. (John 15:13)
--------------------------------------------------Solution.java---------------------------------------------------------------------
package com.javarush.task.task15.task1529;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Осваивание статического блока
*/
public class Solution {
public static void main(String[] args) throws Exception {
}
static {
reset();
}
public static Flyable result;
public static void reset() {
try{ //add your code here - добавьте код тут
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String string = br.readLine();//add your code here - добавьте код тут
if (string.equals("helicopter")) {result = new Helicopter();}
else if (string.equals("plane")) {
int passengersCount = Integer.parseInt(br.readLine());
result = new Plane(passengersCount);
}
br.close();
}catch (Exception e) {e.printStackTrace();}
}
}
------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------Flyable.java---------------------------------------------------------------------
package com.javarush.task.task15.task1529;
public interface Flyable {
void fly();
}
------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------Plane.java----------------------------------------------------------------------
package com.javarush.task.task15.task1529;
public class Plane implements Flyable {
public Plane(int passengersCount) {
}
@Override
public void fly() {
}
}
------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------Helicopter.java-----------------------------------------------------------------
package com.javarush.task.task15.task1529;
public class Helicopter implements Flyable {
@Override
public void fly() {
}
}
------------------------------------------------------------------------------------------------------------------------------------
/*
Осваивание статического блока
1. В отдельных файлах создать классы Plane и Helicopter, реализующие интерфейс Flyable.
2. Класс Plane должен иметь конструктор с параметром int — количество перевозимых пассажиров.
3. В статическом методе reset класса Solution:
3.1. Считать с консоли параметр типа String.
3.2. Если параметр равен «helicopter«, то статическому объекту Flyable result присвоить объект класса Helicopter.
3.3. Если параметр равен «plane«, то считать второй параметр типа int(количество пассажиров), статическому объекту Flyable result присвоить объект класса Plane.
4. В статическом блоке инициализировать Flyable result вызвав метод reset.
5. Закрыть поток ввода методом close().
Требования:
1. Класс Plane должен быть создан в отдельном файле и реализовывать интерфейс Flyable.
2. Класс Helicopter должен быть создан в отдельном файле и реализовывать интерфейс Flyable.
3. Класс Plane должен иметь конструктор с параметром int.
4. В классе Solution должен быть реализован статический метод reset.
5. Метод reset должен считывать строку с клавиатуры.
6. Если введенная строка равна "helicopter", в переменную result должен быть сохранен объект типа Helicopter.
7. Если введенная строка равна "plane", в переменную result должен быть сохранен объект типа Plane.
8. Поле result класса Solution должно быть инициализировано в статическом блоке путем вызова метода reset.
--------------------------------------------------Solution.java---------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------Flyable.java----------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
*/