// NOTICE that ALL PATHS return die1 + die2. // Code is hard to read and very complicated! // Since you only need ONE return statement, // in THIS PARTICULAR case, you can get rid of all the else statements public int withoutDoubles(int die1, int die2, boolean noDoubles) { if (noDoubles) { if (die1 == die2) { die1++; if (die1 > 6) { die1 = 1; return die1 + die2; } else { // !(die1 > 6) i.e. die1 <= 6 return die1 + die2; } } else { // die1 != die2 return die1 + die2; } } else { // !noDoubles return die1 + die2; } } public int withoutDoubles(int die1, int die2, boolean noDoubles) { if (noDoubles) { if (die1 == die2) { die1++; if (die1 > 6) { // OR "(die1 == 7)" die1 = 1; } } } return die1 + die2; } public int withoutDoubles(int die1, int die2, boolean noDoubles) { if (noDoubles) { if (die1 == die2) { die1 = die1 % 6; die1++; } } return die1 + die2; }