I trying to make a do while loop that will keep looping till x either equals y or x equals 7 Here's the code:
else if(y == 4 || y == 5 || y == 6 || y == 8 || y == 9 || y == 10){
System.out.println("Value point is: " + y);
int x = rollDice();
do{
System.out.println("Roll again: " + rollDice());
x = rollDice();
}
while(x != y || rollDice() != 7);
if(x == y){
System.out.println("You Win!");
}
if(x == 7){
System.out.println("You Lose");
}
return;
}}
This is what an output looks like from it:
Dice roll is: 9
Value point is: 9
Roll again: 2
Roll again: 6
Roll again: 6
Roll again: 4
Roll again: 7
Roll again: 11
Roll again: 8
Roll again: 9
Roll again: 2
Roll again: 5
Roll again: 6
Roll again: 8
Roll again: 5
Roll again: 11
Roll again: 5
Roll again: 2
Roll again: 9
Roll again: 6
Roll again: 3
Roll again: 8
Roll again: 8
Roll again: 8
Roll again: 4
Roll again: 7
Roll again: 10
Roll again: 6
Roll again: 5
Roll again: 9
Roll again: 4
Roll again: 7
Roll again: 4
Roll again: 2
Roll again: 8
Roll again: 8
You Win!
Obviously 8 does not equal 9, and since there was a seven near the beginning it should have said "you lose" I just don't where I'm going wrong on this?
|| rollDice() != 7);? you are throwing a bunch ofrollDice(), but most of the time you don't affect it to x, making it effectively useless.