I'm looking at this piece of code I found and hopefully someone can help me. The program takes two numbers and prints to the screen what is in between the the two numbers, so for example 20 and 15 would print 

> 
> [15, 16, 17, 18, 19, 20]
> 
> 
> 

I want to know why the person would wrote the code decided to add 1 to the array here: 

```
int[] range = new int[(upper - lower + 1)]; 

```

if you were to leave the +1 out the print statement would only produce 

> 
> [15, 16, 17, 18, 19]
> 
> 
> 

Hopefully someone can help me out.

Actual desired program output : The array: `[ 15 16 17 18 19 20 ]`

```
public class RangeLister {

    int[] makeRange(int lower, int upper) {

        int[] range = new int[(upper - lower + 1)];

        for (int i = 0; i < range.length; i++) {
            range[i] = lower++;
        }
        return range;
    }

    public static void main(String[] arguments) {
        int[] range;
        RangeLister lister = new RangeLister();

        range = lister.makeRange(15, 20);
        System.out.print("The array: [ ");
        for (int i = 0; i < range.length; i++) {
            System.out.print(range[i] + " ");
        }
        System.out.print("]");
    }
}

```