-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
77 lines (50 loc) · 2.5 KB
/
Solution.java
File metadata and controls
77 lines (50 loc) · 2.5 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
//But when the Comforter is come, whom I will send unto you from the Father, even the Spirit of truth,
//which proceedeth from the Father, he shall testify of me: (John 15:26)
package com.javarush.task.task29.task2913;
import java.util.Random;
/*
Замена рекурсии
*/
public class Solution {
private static int numberA;
private static int numberB;
public static String getAllNumbersBetween(int a, int b) {
StringBuilder result = new StringBuilder();
result.append(a);
int temp = a;
if (a == b) {
return Integer.toString(a);
} else {
if (a > b) {
while (temp > b) {
result.append(" ").append(--temp);
}
} else {
while (temp < b) {
result.append(" ").append(++temp);
}
}
}
return result.toString();
}
public static void main(String[] args) {
Random random = new Random();
numberA = random.nextInt() % 1_000;
numberB = random.nextInt() % 10_000;
System.out.println(getAllNumbersBetween(numberA, numberB));
System.out.println(getAllNumbersBetween(numberB, numberA));
}
}
/*
Замена рекурсии
В программе случайным образом генерируются два целых числа A и В. Нужно вывести все целые числа от A до B включительно, в порядке возрастания, если A меньше B, или в порядке убывания в противном случае.
Задача реализована с использованием рекурсии.
Иногда в результате работы программы получаем Exception in thread "main" java.lang.StackOverflowError.
Твоя задача: перепиши код без использования рекурсии.
Метод recursion переименуй на getAllNumbersBetween.
Требования:
1. Метод recursion необходимо переименовать на getAllNumbersBetween.
2. Ни в одном методе класса Solution не должно быть рекурсивных вызовов.
3. В конце строчки вывода последовательности чисел не должно быть пробела.
4. Логика работы программы должна остаться прежней.
*/