-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
106 lines (86 loc) · 4.53 KB
/
Solution.java
File metadata and controls
106 lines (86 loc) · 4.53 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
//Then don't let your good be slandered (Romans 14:16)
package com.javarush.task.task14.task1418;
import java.util.LinkedList;
import java.util.List;
/*
Исправь четыре ошибки
*/
public class Solution {
public static void main(String[] args) {
List<Number> list = new LinkedList<Number>();
}
public static void initList(List<Number> list) {
//3
list.add(new Double(1000f));
list.add(new Double("123e-445632"));
list.add(new Float(-90 / -3));
list.remove(new Double("123e-445632"));
}
public static void printListValues(List<Number> list) {
//4 - Исправь 2 ошибки
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
public static void processCastedObjects(List<Number> list) {
//5
for (Number object : list) {
//Исправь 2 ошибки
if (object instanceof Double) {
Double a = (Double) object;
System.out.println("Is double value infinite? " + a.isInfinite());
} else if (object instanceof Float) {
Float a = (Float) object;
System.out.println("Is float value defined? " + !(a.isNaN()));
}
}
}
}
/*
Исправь четыре ошибки
1. Подумай что делает метод main.
2. Создай в классе Solution статические методы initList(List<Number> list), printListValues(List<Number> list), processCastedObjects(List<Number> list).
3. Найди блок кода которая заполняет значениями список и перемести его в метод initList.
4. Найди блок кода который в цикле for выводит на экран содержимое списка и перемести его в метод printListValues.
5. Найди блок кода в котором для каждого объекта списка проверяется тип и выводятся сообщения на экран и перемести его в метод processCastedObjects.
6. Исправь 2 ошибки в методе printListValues так, чтобы на экран корректно выводилось содержимое переданного в качестве параметра списка.
7. Исправь 2 ошибки в методе processCastedObjects связанные с приведением типов
— для объекта типа Float нужно вывести «Is float value defined? » + !([Float_object].isNaN()).
— для объекта типа Double нужно вывести «Is double value infinite? » + [Double_object].isInfinite().
Требования:
1. В классе Solution должны быть реализованы статические методы initList(List list), printListValues(List list), processCastedObjects(List list).
2. Метод initList должен заполнять полученный список произвольными значениями.
3. Метод printListValues должен выводить содержимое полученного списка на экран.
4. Метод processCastedObjects должен анализировать элементы списка и для объектов типа Float или Double выводить на экран текст согласно условию задачи.
package com.javarush.task.task14.task1418;
import java.util.LinkedList;
import java.util.List;
*
Исправь четыре ошибки
*
public class Solution {
public static void main(String[] args) {
List<Number> list = new LinkedList<Number>();
//3
list.add(new Double(1000f));
list.add(new Double("123e-445632"));
list.add(new Float(-90 / -3));
list.remove(new Double("123e-445632"));
//4 - Исправь 2 ошибки
for (int i = 0; i <= list.size(); i--) {
System.out.println(list.get(i));
}
//5
for (Number object : list) {
//Исправь 2 ошибки
if (object instanceof Float) {
Double a = (Double) object;
System.out.println("Is float value defined? " + !(a.isNaN()));
} else if (object instanceof Double) {
Float a = (Float) object;
System.out.println("Is double value infinite? " + a.isInfinite());
}
}
}
}
*/