Java - Código JAVA

 
Vista:
sin imagen de perfil

Código JAVA

Publicado por Juan Rodriguez (12 intervenciones) el 06/08/2022 22:57:16
Saludos a todos. Vuelvo a escribir, me asignaron un trabajo y deseo nuevamente tener los aportes y consejos de todos ustedes. Púbico el enunciado y el código escrito. Gracias.

/*Hacer un proceso que permita ingresar una serie de números y asigne un valor a una variable de acuado a lo sgte:
* Si se ingresa 5, asignar el valor 10
* Si se ingresa 10, asignar el valor 20
* Si se ingresa 15, asignar el valor 40
* Si se ingresa cualquier otro número, asignar el valor 80
*
* Condición de fin: cuando se pulse Enter en el número.*/


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;
 
public class  Numeros {
 
	public static void main(String[] args) {
		Scanner teclado = new Scanner(System.in);
 
		int nro =0;
 
		do {
			System.out.println("Ingrese número.");
 
			nro = teclado.nextInt();
 
			if (nro == 5) {
				nro = 10;
			}
 
			if (nro == 10) {
				nro = 20;
			}
 
			if (nro == 15) {
				nro = 40;
			}
 
			if (nro != 5 && nro !=10 && nro!= 15) {
				nro = 80;
			}
 
 
	}while (nro <= 0);
 
		System.out.println("Número " +nro);
 
		System.out.println("\n\t\tFIN DE PROGRAMA");
 
		teclado.close();
 
	}
 
}
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

Código JAVA

Publicado por Kabuto (1381 intervenciones) el 07/08/2022 17:13:45
Para analizar el valor introducido, en lugar de hacer varios IF distintos, es más óptimo hacer uno pero que sea múltiple enlazando varios IF ELSE
1
2
3
4
5
6
7
8
9
10
11
12
if (nro == 5) {
				nro = 10;
			}
			else if (nro == 10) {
				nro = 20;
			}
			else if (nro == 15) {
				nro = 40;
			}
			else {
				nro = 80;
			}

De esta manera, cuando se cumple una de esas posibilidades, las demás ya no son revisadas, pues de hecho es imposible que también puedan cumplirse.
Además ya no es necesario poner una condición compleja para asignar 80, pues si no se han cumplido las anteriores hay que asignar el 80 sin que sea necesario preguntar nada más.

Sobre el bucle y la condición de salida. Como en el ejercicio anterior, nos dicen que la condición ha de ser hasta que se pulse ENTER sin introducir nada.
En el ejercicio anterior usábamos el método isBlank() porque estábamos leyendo Strings. Pero como aquí estamos leyendo datos numéricos, parece que ya no podemos usarlo.
¿O tal vez sí?

Si releemos el enunciado, nos dicen que leamos números y según el número, asignemos determinados valores a una variable.
Esa variable no tiene por qué ser la misma que estemos usando para las lecturas por teclado.

Por tanto, podemos hacer lecturas con String y asignar valores a otra variable de tipo int.
Así se cumple lo que el enunciado pide y además ya podemos volver a usar el método isBlank() para decidir cuando poner fin al bucle.

Por cierto, el número asignado es más interesante mostrarlo cada vez que se repita el bucle, no solo cuando este termine.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class  Numeros {
 
	public static void main(String[] args) {
		Scanner teclado = new Scanner(System.in);
		String entrada = "";
		int nro =0;
 
		do {
			System.out.print("Ingrese número: ");
 
			entrada = teclado.nextLine();
 
			if (!entrada.isBlank()) { //Si la entrada NO está vacía
 
				if (entrada.equals("5")) {
					nro = 10;
				}
				else if (entrada.equals("10")) {
					nro = 20;
				}
				else if (entrada.equals("15")) {
					nro = 40;
				}
				else {
					nro = 80;
				}
 
				System.out.println("Número asignado: " + nro);
			}
 
	}while (!entrada.isBlank()); //Mientras la entrada NO esté vacía
 
 
		System.out.println("\n\t\tFIN DE PROGRAMA");
 
		teclado.close();
 
	}
 
}
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