Prueba cambiando el while por un else:
Código PHP:
Ver originalboolean prestadoLibro = true;
String codigopublicacion0
= jTextField1
.getText(); String codigosocio0
= jTextField2
.getText();
if (!prestadoLibro) {
JOptionPane.showMessageDialog(this, "Ya está prestado", "ERROR", JOptionPane.INFORMATION_MESSAGE);
} else {
if (!(PanelAceptar.arraypublicaciones.isEmpty())) {
for (int i = 0; i < PanelAceptar.arraypublicaciones.size(); i++) {
if (PanelAceptar.arraypublicaciones.get(i).getCodigo().equals(codigopublicacion0)) {
if (PanelAltaSocios.socios.containsKey(codigosocio0)) {
int posicion = codigosocio0.indexOf('A');
if (posicion == -1) {
JOptionPane.showMessageDialog(this, "El libro con codigo " + codigopublicacion0 + " ha sido prestado. Tiene 10 días para devolverlo", "BIBLIOTECA UNIVERSITARIA", JOptionPane.INFORMATION_MESSAGE);
break;
} else {
JOptionPane.showMessageDialog(this, "El libro con codigo " + codigopublicacion0 + " ha sido prestado. Tiene 6 días para devolverlo", "BIBLIOTECA UNIVERSITARIA", JOptionPane.INFORMATION_MESSAGE);
break;
}
}
}
}
}
prestadoLibro=false;
}