No se puede resolver en una variable, después de pedirle al usuario que ingrese la variable

Probablemente sea algo obvio, pero cuando intento forzar al usuario a seguir ingresando un valor hasta que ingrese un valor válido, aparece un error que indica que la variable no se puede resolver.

Luego, si lo declaro de antemano, aparece un error que dice un valor duplicado.

do {
    float x = Float.parseFloat(javax.swing.JOptionPane.showInputDialog("Enter 1");
} while (x != 1);

¿No se supone que el compilador ejecuta eldo declaración primero, antes de preocuparse por lawhile?

Respuestas a la pregunta(3)

Su respuesta a la pregunta