There can be many ways to do it. A simple way to do it is by using an infinite loop which you can break when number1 == 100
. It's also important to check if (number1 > 100)
after adding a random number and remove that random number if it true
.
public class Main {
public static void main(String[] args) {
int number1 = 0;
while (true) {
System.out.println("Current value: " + number1);
if (number1 == 100) {
break;
}
int random = (int) (Math.random() * 6 + 1);
number1 += random;
if (number1 > 100) {
number1 -= random;
}
}
}
}
A sample run:
Current value: 0
Current value: 4
Current value: 9
Current value: 13
Current value: 19
Current value: 24
Current value: 29
Current value: 35
Current value: 39
Current value: 43
Current value: 48
Current value: 51
Current value: 57
Current value: 58
Current value: 62
Current value: 66
Current value: 70
Current value: 74
Current value: 79
Current value: 85
Current value: 88
Current value: 93
Current value: 97
Current value: 97
Current value: 98
Current value: 98
Current value: 100
To avoid casting the generated random numbers to int
, I recommend you use Random#nextInt(int bound)
as shown below:
import java.util.Random;
public class Main {
public static void main(String[] args) {
int number1 = 0;
Random rand = new Random();
while (true) {
System.out.println("Current value: " + number1);
if (number1 == 100) {
break;
}
int random = rand.nextInt(6) + 1;
number1 += random;
if (number1 > 100) {
number1 -= random;
}
}
}
}