Skip to content

Commit bfd8447

Browse files
harshavsmaibin
authored andcommitted
[BAEL-3211] Generate Integers within a range in Java (eugenp#7668)
* [BAEL-3211] Generate Integers within a range in Java * [BAEL-3211] Generate Integers within a range in Java * Moved files from java-numbers to java-numbers-2
1 parent 8d67d84 commit bfd8447

File tree

4 files changed

+136
-0
lines changed

4 files changed

+136
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.baeldung.numbersinrange;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
import java.util.stream.Collectors;
6+
import java.util.stream.IntStream;
7+
8+
public class NumbersInARange {
9+
10+
public List<Integer> getNumbersInRange(int start, int end) {
11+
List<Integer> result = new ArrayList<>();
12+
for (int i = start; i < end; i++) {
13+
result.add(i);
14+
}
15+
return result;
16+
}
17+
18+
public List<Integer> getNumbersUsingIntStreamRange(int start, int end) {
19+
return IntStream.range(start, end)
20+
.boxed()
21+
.collect(Collectors.toList());
22+
}
23+
24+
public List<Integer> getNumbersUsingIntStreamRangeClosed(int start, int end) {
25+
return IntStream.rangeClosed(start, end)
26+
.boxed()
27+
.collect(Collectors.toList());
28+
}
29+
30+
public List<Integer> getNumbersUsingIntStreamIterate(int start, int limit) {
31+
return IntStream.iterate(start, i -> i + 1)
32+
.limit(limit)
33+
.boxed()
34+
.collect(Collectors.toList());
35+
}
36+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.baeldung.numbersinrange;
2+
3+
import java.util.Random;
4+
5+
public class RandomNumbersInARange {
6+
7+
public int getRandomNumber(int min, int max) {
8+
return (int) ((Math.random() * (max - min)) + min);
9+
}
10+
11+
public int getRandomNumberUsingNextInt(int min, int max) {
12+
Random random = new Random();
13+
return random.nextInt(max - min) + min;
14+
}
15+
16+
public int getRandomNumberUsingInts(int min, int max) {
17+
Random random = new Random();
18+
return random.ints(min, max)
19+
.findFirst()
20+
.getAsInt();
21+
}
22+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.baeldung.numbersinrange;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import java.util.Arrays;
6+
import java.util.List;
7+
8+
import org.junit.Test;
9+
10+
public class NumbersInARangeUnitTest {
11+
12+
@Test
13+
public void givenTheRange1To10_andUsingForLoop_thenExpectCorrectResult() {
14+
NumbersInARange numbersInARange = new NumbersInARange();
15+
List<Integer> numbers = numbersInARange.getNumbersInRange(1, 10);
16+
17+
assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,9), numbers);
18+
}
19+
20+
@Test
21+
public void givenTheRange1To10_andUsingIntStreamRange_thenExpectCorrectResult() {
22+
NumbersInARange numbersInARange = new NumbersInARange();
23+
List<Integer> numbers = numbersInARange.getNumbersUsingIntStreamRange(1, 10);
24+
25+
assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,9), numbers);
26+
}
27+
28+
@Test
29+
public void givenTheRange1To10_andUsingIntStreamRangeClosed_thenExpectCorrectResult() {
30+
NumbersInARange numbersInARange = new NumbersInARange();
31+
List<Integer> numbers = numbersInARange.getNumbersUsingIntStreamRangeClosed(1, 10);
32+
33+
assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,9,10), numbers);
34+
}
35+
36+
@Test
37+
public void givenTheRange1To10_andUsingIntStreamIterate_thenExpectCorrectResult() {
38+
NumbersInARange numbersInARange = new NumbersInARange();
39+
List<Integer> numbers = numbersInARange.getNumbersUsingIntStreamIterate(1, 10);
40+
41+
assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,9,10), numbers);
42+
}
43+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.baeldung.numbersinrange;
2+
3+
import static org.junit.Assert.assertTrue;
4+
5+
import org.junit.Test;
6+
7+
public class RandomNumbersInARangeUnitTest {
8+
9+
@Test
10+
public void givenTheRange1To10_andUsingMathRandom_thenExpectCorrectResult() {
11+
RandomNumbersInARange randomNumbersInARange = new RandomNumbersInARange();
12+
int number = randomNumbersInARange.getRandomNumber(1, 10);
13+
14+
assertTrue(number >= 1);
15+
assertTrue(number < 10);
16+
}
17+
18+
@Test
19+
public void givenTheRange1To10_andUsingRandomInts_thenExpectCorrectResult() {
20+
RandomNumbersInARange randomNumbersInARange = new RandomNumbersInARange();
21+
int number = randomNumbersInARange.getRandomNumberUsingInts(1, 10);
22+
23+
assertTrue(number >= 1);
24+
assertTrue(number < 10);
25+
}
26+
27+
@Test
28+
public void givenTheRange1To10_andUsingRandomNextInt_thenExpectCorrectResult() {
29+
RandomNumbersInARange randomNumbersInARange = new RandomNumbersInARange();
30+
int number = randomNumbersInARange.getRandomNumberUsingNextInt(1, 10);
31+
32+
assertTrue(number >= 1);
33+
assertTrue(number < 10);
34+
}
35+
}

0 commit comments

Comments
 (0)