It's not declared twice.
"boolean assertEnabled = false;" first declares assertEnabled as a boolean, and then assigns the value false to it.
"assert assertEnabled = true;" doesn't declare anything. It merely checks whether the boolean assertEnabled is true, which it would be, because it gets true assigned to it before the boolean is asserted.
Note that the assert statement will only be run if assertions are enabled, by running
Java with the -ea option.
If you run "java Question23_Read_Ask" the program will print "Assertions are disabled".
If you run "java -ea Question23_Read_Ask", it will print "Assertions are enabled".