Java - Ayuda Java Ingreso por teclado.

 
Vista:
sin imagen de perfil
Val: 66
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda Java Ingreso por teclado.

Publicado por Osvaldo (60 intervenciones) el 04/08/2020 21:43:35
Tengo muchos problemas al momento de programar. Si me podrian ayudar seria muy importante. Éxitos.

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package numero;
import java.util.Scanner;
/**
 *
 * @author YO
 */
public class Numero {
int numero =0;
    /**
     * @param args the command line arguments
     *
     *
     *
     */
 
    //-	Realizar un programa Java que ingrese 1 número por teclado, desplegando de la siguiente
    //forma “Ingrese número, debe ser  >= 0 y <= 10, o 99 para Salir:
	// Validar:
	//El número ingresado debe ser >= 0 y <= 10
	//Si el número ingresado es < 0 desplegar ‘numero incorrecto < a 0’
//	Si el número ingresado es > 10 desplegar ‘numero incorrecto > a 10’
//	Desplegar según el número ingresado:
//	Si el número ingresado es 0 desplegar ‘NUMERO 0’
//	Si el número ingresado es 1 desplegar ‘NUMERO 1’
//	… hasta 10
//	Si el número ingresado es 99: desplegar ‘FIN’ y SALIR
 
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner entrada;
        entrada = new Scanner(System.in);
        int numero = entrada.nextInt() ;
 
 
 
        //El número ingresado debe ser >= 0 y <= 10
 
    }
    public static int Validacion(int numero){
        switch (numero){
            case 1:
                (numero ==0);
            System.out.println("Numero es igual a 0"); break;
            case 2:
               (numero ==1);
            System.out.println("Numero es igual a 1"); break;
            (numero ==2);
            System.out.println("Numero es igual a 2"); break;
            (numero ==3);
            System.out.println("Numero es igual a 3"); break;
            (numero ==4);
            System.out.println("Numero es igual a 4"); break;
            (numero ==5);
            System.out.println("Numero es igual a 5"); break;
            (numero ==6);
            System.out.println("Numero es igual a 6"); break;
            (numero ==7);
            System.out.println("Numero es igual a 7"); break;
            (numero ==8);
            System.out.println("Numero es igual a 8"); break;
            (numero ==9);
            System.out.println("Numero es igual a 9"); break;
            (numero ==10);
            System.out.println("Numero incorrecto"); break;
            (numero ==99);
            System.out.println("FIN, SALIR"); break;
 
        }
 
}
}
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda Java Ingreso por teclado.

Publicado por Josema (2 intervenciones) el 05/08/2020 08:57:19
Estoy comenzando en el foro, si consideras que la respuesta no es adecuada por favor corrígeme (o cualquier otro que lo lea) en cualquier cosa.

Viendo tu enunciado...
- Tenías mal el switch (aunque se podría hacer también con if).
- Te faltaba un bucle while para ingresar un nuevo número hasta que ingreses 99.
- El método tenía que tener una salida int en vez de mostrar por pantalla lo pedido sin mas.
- No se si se puede hacer como tienes escrito, pero me parecía mucho más cómodo ahorrar la variable "numero" ingresando directamente la información al método desde la variable entrada usando parseInt

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//Con un entero se controla si hemos ingresado "99" o no
static Integer contador;
 
public static void main(String[] args) {
    //Se inicializa en 0, el 1 significará que deseamos terminar
    contador = 0;
    //Este bucle se ejecutará mientras se cumpla la condición
    while(contador == 0) {
        //Para que sea más cómodo saber que se debe realizar he añadido lo siguiente
        System.out.println("Ingrese un número mayor o igual que 0 y menor o igual que 10: ");
 
        //Para evitar fallos se le introduce directamente del Scanner el número al método
        Scanner entrada = new Scanner(System.in);
        Validacion(Integer.parseInt(entrada.next()));
        //Muchas veces salta un Warning, suele ser que se ha olvidado el ".close"
        entrada.close();
        System.out.println(" ");
    }
 
}
public static void Validacion(int numero){
    contador = 0;
    /*Tenías mal hecho el "switch", fijate como los números al lado de cada "case" son la condicion
        Es como si escribieras cada vez lo siguiente
            if(numero == 0){
                ...
            } else if (numero == 1){
                ...
    */
    switch (numero){
    case 0:
        System.out.println("Numero es igual a 0");
        break;
    case 1:
        System.out.println("Numero es igual a 1");
        break;
    case 2:
        System.out.println("Numero es igual a 2");
        break;
    case 3:
        System.out.println("Numero es igual a 3");
        break;
    case 4:
        System.out.println("Numero es igual a 4");
        break;
    case 5:
        System.out.println("Numero es igual a 5");
        break;
    case 6:
        System.out.println("Numero es igual a 6");
        break;
    case 7:
        System.out.println("Numero es igual a 7");
        break;
    case 8:
        System.out.println("Numero es igual a 8");
        break;
    case 9:
        System.out.println("Numero es igual a 9");
        break;
    case 10:
        System.out.println("Numero es igual a 10");
        break;
    //Al ingresar "99" es el único momento en el que modificamos contador
    case 99:
        System.out.println("FIN");
        contador = 1;
        break;
    //"default" nos sirve para los casos generales, en este caso todo lo que no sea de 0 a 10 y el 99
    default:
        if(numero>10) {
            System.out.println(numero + ": número incorrecto > a 10");
        }
        else {
            System.out.println(numero + ": número incorrecto < a 10");
        }
        break;
    }
}
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
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

Ayuda Java Ingreso por teclado.

Publicado por Kabuto (1381 intervenciones) el 05/08/2020 12:55:54
Un pequeño despiste al final del default. Es menor que 0, no que 10.

1
2
3
4
5
6
7
8
9
//"default" nos sirve para los casos generales, en este caso todo lo que no sea de 0 a 10 y el 99
default:
if(numero>10) {
    System.out.println(numero + ": número incorrecto > a 10");
}
else {
    System.out.println(numero + ": número incorrecto < a 0");
}
return true;

Me permito aportar otra solución con un enfoque distinto.
Hacer que el método para validar sea de tipo boolean y por tanto sirva como condición del bucle:

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
public static void main(String[] args) {
 
    Scanner entrada = new Scanner(System.in);
 
    do{
        System.out.println("Ingrese un número mayor o igual que 0 y menor o igual que 10: ");
    }while(Validacion(Integer.parseInt(entrada.next())));
 
    entrada.close();
}
 
public static boolean Validacion(int numero){
 
    switch (numero){
    case 0:
        System.out.println("Numero es igual a 0");
        return true;
    case 1:
        System.out.println("Numero es igual a 1");
        return true;
    case 2:
        System.out.println("Numero es igual a 2");
        return true;
    case 3:
        System.out.println("Numero es igual a 3");
        return true;
    case 4:
        System.out.println("Numero es igual a 4");
        return true;
    case 5:
        System.out.println("Numero es igual a 5");
        return true;
    case 6:
        System.out.println("Numero es igual a 6");
        return true;
    case 7:
        System.out.println("Numero es igual a 7");
        return true;
    case 8:
        System.out.println("Numero es igual a 8");
        return true;
    case 9:
        System.out.println("Numero es igual a 9");
        return true;
    case 10:
        System.out.println("Numero es igual a 10");
        return true;
    case 99:
        //Al ingresar "99" se pone fin al bucle retornando FALSE
        System.out.println("FIN");
        return false;
        //"default" nos sirve para los casos generales, en este caso todo lo que no sea de 0 a 10 y el 99
    default:
        if(numero>10) {
            System.out.println(numero + ": número incorrecto > a 10");
        }
        else {
            System.out.println(numero + ": número incorrecto < a 0");
        }
        return true;
    }
 
}
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda Java Ingreso por teclado.

Publicado por Josema (2 intervenciones) el 05/08/2020 13:06:37
Si que me había despistado , pero ahora que lo has dicho... Al estar definidas en el switch no se excluirían? Podría dar error de alguna forma en un proceso mas complejo?
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
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

Ayuda Java Ingreso por teclado.

Publicado por Kabuto (1381 intervenciones) el 06/08/2020 00:54:59
No, el "despiste" solo afectaba a la información que se mostraba en pantalla.
Lo que viene a ser la computación sí era correcta
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