I changed the number from 10 to 31*Math.random and added logical OR operators to the if statements. I also took out some braces and the last if statement. I ran it about 30 or more times and got a bunch of different results. All were correct.
Code:
public class ConditionalOpDate {
public static void main(String[] args) {
int nDate = 1;
nDate = (int)(1+31*Math.random());
if (nDate == 1 || nDate == 21 || nDate == 31){
System.out.println("The date is now " + nDate + "st December.");
} else if (nDate == 2 || nDate == 22){
System.out.println("The date is now " + nDate + "nd December.");
} else if (nDate == 3 || nDate == 23){
System.out.println("The date is now " + nDate + "rd December.");
} else {
System.out.println("The date is now " + nDate + "th December.");
}
}
}