Errors can be syntax errors or logic errors (the code works, but not as intended). In the Guess My Number game, there is a lower limit and an upper limit for the range of possible numbers to guess. If the lower limit were exclusive and the upper limit inclusive, which expression would properly generate values for the secret number?

(int)(Math.random() * (upper − lower + 1) ) + lower
(int)(Math.random() * (upper − lower) ) + lower + 1
(int)(Math.random() * (upper − lower + 1) ) + lower - 1