Duda simple en Java

MrBigel

Buenas señores.

Voy a ser breve, me piden lo siguiente:

//1. Leer un número y mostrar su cuadrado, repetir el proceso hasta que se introduzca un número negativo.

Se o quiero creer que se hace con la condicional "While", el caso es que while después de que se cumpla la condicion no vuelve a pedirme otro número.

	// Leer y escribir
		
	Scanner numero1 = new Scanner (System.in);
	System.out.println ("Introduzca un numero");
	int A=numero1.nextInt ();
	
	
	// Declaraciones
	
	int potencia;
	
	potencia= A*A;
	
	// Condiciones
	
	while (A>=0) {
		
	
		System.out.println ("El cuadrado de este numero es:" + potencia);
		break;
	
		}
		
	if (A<0) {
		
		System.out.println ("El numero es negativo");
		
		
		}
	
	
	
}
}

He estado indagando acerca de la condicional While y en ningún video o web aparece la función que yo deseo.

Por eso vengo a pediros ayuda, no hace falta que me rectifiquéis el código, basta con decirme la condicional.

Muchas gracias.

B

#1 Se puede hacer con un while.
Pero lo mejor para ese ejercicio es un do-while, ya que tienes que hacer la lectura del numero siempre (como mínimo una vez).

1
DemoNn

Yo usaría un do while , te vendría de perlas. Te dejo la solución en spoiler por si lo quieres intentar primero.

Por cierto, al no poner esta parte del código:

System.out.println ("Introduzca un numero");
int A=numero1.nextInt ();

Dentro del while, jamás te va a pedir un nuevo número.

1 1 respuesta
MrBigel

#3

Por cierto, al no poner esta parte del código:

System.out.println ("Introduzca un numero";
int A=numero1.nextInt ();

Y eso por que? :f5:

Por cierto, muchas gracias.

2 respuestas
DarkSoldier

#4 Lo que se repite es lo que esta dentro del while, si no metes el recoger el número dentro del while...

1
corono

#4 además de recomendarte que introduzcas todo dentro del bucle, excepto el Scanner, te recomendaría también que evites el uso de breaks y continues, o al menos hasta que tengas claro el concepto de cuando usarlos

2
Ronso

Cuando pones //Declaraciones que sepas que ese Int A = numero1.nextInt(); es una declaración

Usuarios habituales