Java - mostrar por pantalla todos los enteros x tales que su cuadrado (x * x) se encuentre entre los valore

 
Vista:

mostrar por pantalla todos los enteros x tales que su cuadrado (x * x) se encuentre entre los valore

Publicado por Antía (1 intervención) el 22/02/2021 17:17:44
Programa de interfaz gráfica en donde el usuario introduce los valores minimo (intMin) y máximo (intMax), al clicar sobre el botón realiza la operación: mostrar por pantalla todos los enteros num tales que su cuadrado (num * num) se encuentre entre los valores del mínimo y del máximo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    textPanel3.setText(" Darrera acció feta: Clic al botó Calcular");
 
    //Convierto los String introducidos en  int.
    String min = introMin.getText();
    int intMin = Integer.parseInt(min);
    String max = introMax.getText();
    int intMax = Integer.parseInt(max);
    int num = 0;
    int resultado = num*num;
 
    do {
        if ((resultado >= intMin) && (resultado<=intMax)){
           textCalcu.setText(Integer.toString(num));
        }
        num++;
    } while ((num * num >= intMin) && (num * num <= intMax));
}

Le he dado muchas vueltas y no doy con el error. Antes me imprimía la última opción que se cumplia pero tiene que imprimir cada número que cumpla esa condición.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

mostrar por pantalla todos los enteros x tales que su cuadrado (x * x) se encuentre entre los valore

Publicado por Kabuto (1381 intervenciones) el 27/02/2021 13:06:41
¿Qué es textCalcu?

Si es un JTextField, y quieres que muestre todos los resultados, tendrías que concatenar el resultado que ya tiene de la ejecución anterior, con el actual.
Algo parecido a esto:
1
textCalcu.setText(textCalcu.getText() + " " + Integer.toString(num));

Si es un JTextArea, que sería lo ideal, has de agregar los resultados con append().
Y añadiendo quizás un salto de línea para que no salgan todos los resultados apelotonados.
1
textCalcu.append(Integer.toString(num) + "\n");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar