Java - Simbolo del sistema: error "orphaned case"

 
Vista:
sin imagen de perfil

Simbolo del sistema: error "orphaned case"

Publicado por anonymous (1 intervención) el 18/12/2019 15:12:05
Hola gente, estoy programando una calculadora sencilla en bloc de notas pera probrar en el Simbolo del sistema. En este, al entrar al Desktop (donde tengo guardado el programa) y al escribir el codigo para ejecutar el programa "javac Calculatodo.java" me da 1 solo error "35: orphaned case" en el "case 1: System.out.println("Elegiste sumar"); .
Intente solucionarlo de muchas formas pero nada. Aca les dejo el codigo de la calculadora:

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import java.util.Scanner;
 
public class Calculatodo{
  public static void main(String args[]){
 
   Scanner in = new Scanner(System.in);
 
   int numero_uno = 0;
   int numero_dos = 0;
   int resultado = 0;
   int operacion = 1;
   String afirmacion = "";
   int parametro = 1;
 
   System.out.println("  ------------------------------------");
   System.out.println("  Bienvenido a la calculadora v.2 2019");
   System.out.println("  ------------------------------------");
   System.out.println("");
   System.out.print("¿Deseas empezar'");
   afirmacion = in.nextLine();
 
   if(afirmacion = Si || afirmacion = si || afirmacion = SI || afirmacion = sI){
 
 
   System.out.println("  1 para sumar;");
   System.out.println("  2 para restar;");
   System.out.println("  3 para multiplicar;");
   System.out.println("  4 para dividir;");
   System.out.println("");
 
   System.out.print("  Escriba un numero para elegir la operacion que desea: ");
   parametro = in.nextInt();
   System.out.println("");
 
  case 1: System.out.println("  Elegiste sumar");
          System.out.println("");
 
          System.out.print("  Escriba el primer numero: ");
          numero_uno = in.nextInt();
 
          System.out.print("  Escriba el segundo numero: ");
          numero_dos = in.nextInt();
 
          resultado = numero_uno + numero_dos;
 
          System.out.println("  El resultado de tu suma es " + resultado);
          System.out.println("  " + numero_uno + " + " + numero_dos + " = " + resultado);
          break;
 
  case 2: System.out.println("  Elegiste restar");
          System.out.println("");
 
          System.out.print("  Escriba el primer numero: ");
          numero_uno = in.nextInt();
 
          System.out.print("  Escriba el segundo numero: ");
          numero_dos = in.nextInt();
 
          resultado = numero_uno - numero_dos;
 
          System.out.println("  El resultado de tu resta es " + resultado);
          System.out.println("  " + numero_uno + " - " + numero_dos + " = " + resultado);
          break;
 
  case 3: System.out.println("  Elegiste multiplicar");
          System.out.println("");
 
          System.out.print("  Escriba el primer numero: ");
          numero_uno = in.nextInt();
 
          System.out.print("  Escriba el segundo numero: ");
          numero_dos = in.nextInt();
 
          resultado = numero_uno * numero_dos;
 
          System.out.println("  El resultado de tu multiplicacion es " + resultado);
          System.out.println("  " + numero_uno + " x " + numero_dos + " = " + resultado);
          break;
 
  case 4: System.out.println("  Elegiste dividir");
                 System.out.println("");
 
...........System.out.print("  Escriba el primer numero: ");
..........numero_uno = in.nextInt();
 
..........System.out.print("  Escriba el segundo numero: ");
..........numero_dos = in.nextInt();
 
..........resultado = numero_uno - numero_dos;
 
..........System.out.println("  El resultado de tu division es " + resultado);
..........System.out.println("  " + numero_uno + " ÷ " + numero_dos + " = " + resultado);
..........break;
 
..default: System.out.println("  La opercion que elegiste no existe. Por favor, vuelve a intentarlo.");
...........System.out.println("");
...........System.out.print("  ¿Quieres volver a intentarlo");
...........parametro = in.nextInt();
 
 
...} else if(afirmacion = no || afirmacion = No || afirmacion = NO || afirmacion = nO){
 
....System.out.println("  El programa a finalizado correctamente.");
 
..}
.}
}



Cualquier ayuda se agradece. Gracias
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 pablo
Val: 841
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por pablo (212 intervenciones) el 18/12/2019 15:32:04
Hola Octavio varías cosas que veo en tu código a simple vista, te falta un switch para esos case no veo donde esta

sí quieres verificar algo no lo hagas así
1
if(afirmacion = Si || afirmacion = si || afirmacion = SI || afirmacion = sI)

hazlo mejor con el método de equalsIgnoreCase algo como lo siguiente:
1
if(afirmacion.equalsIgnoreCase("si"))

Así te evitas de poner tantos or en el if y es una mejor practica

y el error que te da creo que es por eso por que no tienes un switch entonces te dice que esta huerfano por que hay una sentencia previa que necesitas.

Prueba y comentas.

Saludos
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: 11
Ha disminuido su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por ATC - (4 intervenciones) el 18/12/2019 16:57:47
Muchas gracias! Soy octavio pero de otra cuenta... aplique el equalsignorecase... vamos a ver como va. Gracias
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: 100
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por Bruno (43 intervenciones) el 18/12/2019 15:32:27
El problema del "orphaned case" que te ocurre es porque hay un error de sintaxis. El uso correcto sería

1
2
3
4
5
6
7
8
9
switch(parametro)  {
  case 1: System.out.println(" Elegiste sumar");
               ....
               break;
   case 2: System.out.println(" Elegiste restar");
                ....
                break;
   ....
}

y no veo en tu código que hayas incluido switch(parametro).
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: 11
Ha disminuido su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por ATC - (4 intervenciones) el 18/12/2019 16:59:13
Gracias Bruno! Soy Octavio pero estoy en otra cuenta.... ahi me fije bien y es verdad que me faltaba el switch y esas cosas.. Gracias, saludos.
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: 11
Ha disminuido su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por ATC - (4 intervenciones) el 18/12/2019 17:24:24
Hola Bruno.
Hice algunas modificaciones en el programa pero no resultaron ser útiles. Por cierto soy Octavio, estoy usando mi cuenta secundaria.
Aquí te dejo el código para que lo veas y así me corriges. Gracias.

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import java.util.Scanner;
 
public class Calculatodo{
  public static void main(String args[]){
 
   Scanner in = new Scanner(System.in);
 
   int numero_uno = 0;
   int numero_dos = 0;
   int resultado = 0;
   int operacion = 1;
   String afirmacion = "";
   int parametro = 1;
 
   System.out.println("  ------------------------------------");
   System.out.println("  Bienvenido a la calculadora v.2 2019");
   System.out.println("  ------------------------------------");
   System.out.println("");
   System.out.print("¿Deseas empezar'");
   afirmacion = in.nextLine();
 
   if(afirmacion.equalsIgnoreCase("si")){
 
 
   System.out.println("  1 para sumar;");
   System.out.println("  2 para restar;");
   System.out.println("  3 para multiplicar;");
   System.out.println("  4 para dividir;");
   System.out.println("");
 
   System.out.print("  Escriba un numero para elegir la operacion que desea: ");
   parametro = in.nextInt();
   System.out.println("");
 
   switch(parametro){
 
    case 1: System.out.println("  Elegiste sumar");
            System.out.println("");
            System.out.print("  Escribe el primer numero de la suma: ");
            num_uno = in.nextInt();
            System.out.println("");
            System.out.print("  Escribe el segundo numero de la suma: ");
            num_dos = in.nextInt();
 
            resultado = num_uno + num_dos;
 
            System.out.println("");
            System.out.println("  El resultado de tu suma es: " + resultado);
            System.out.print("");
            System.out.println("" + num_uno + " + " + num_dos + " = " + resultado);
            break;
 
    case 2: System.out.println("  Elegiste restar");
            System.out.println("");
            System.out.print("  Escribe el primer numero de la resta: ");
            num_uno = in.nextInt();
            System.out.println("");
            System.out.print("  Escribe el segundo numero de la resta: ");
            num_dos = in.nextInt();
 
            resultado = num_uno - num_dos;
 
            System.out.println("");
            System.out.println("  El resultado de tu resta es: " + resultado);
            System.out.print("");
            System.out.println("" + num_uno + " - " + num_dos + " = " + resultado);
            break;
 
    case 3: System.out.println("  Elegiste multiplicar");
            System.out.println("");
            System.out.print("  Escribe el primer numero de la multiplicacion: ");
            num_uno = in.nextInt();
            System.out.println("");
            System.out.print("  Escribe el segundo numero de la multiplicacion: ");
            num_dos = in.nextInt();
 
            resultado = num_uno * num_dos;
 
            System.out.println("");
            System.out.println("  El resultado de tu multiplicacion es: " + resultado);
            System.out.print("");
            System.out.println("" + num_uno + " x " + num_dos + " = " + resultado);
            break;
 
    System.out.println("  Elegiste dividir");
            System.out.println("");
            System.out.print("  Escribe el primer numero de la division: ");
            num_uno = in.nextInt();
            System.out.println("");
            System.out.print("  Escribe el segundo numero de la division: ");
            num_dos = in.nextInt();
 
            resultado = num_uno / num_dos;
 
            System.out.println("");
            System.out.println("  El resultado de tu division es: " + resultado);
            System.out.print("");
            System.out.println("" + num_uno + " ÷ " + num_dos + " = " + resultado);
            break;
   }
  } else if(afirmacion.equalsIgnoreCase("no")){
 
    System.out.println("  El programa a finalizado correctamente.");
 }
}
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: 225
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por Juan (65 intervenciones) el 18/12/2019 17:40:01
Hola buenas, yo he podido detectar 2 errores más. tus variables num_uno y num_dos, no corresponden a las variables que declaras al inicio. por lo que las he cambiado. y no tienes colocado el case 4 para la división en este ultimo ejemplo, el el primero si lo tenias. tienes el codigo, pero la palabra "case 4:" antes del codigo te falta. te quedaria asi:

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package Controlador;
 
import java.util.Scanner;
 
public class Calculatodo{
 
	public static void main(String args[]){
 
		Scanner in = new Scanner(System.in);
 
		int num_uno = 0;
		int num_dos = 0;
		int resultado = 0;
		int operacion = 1;
		String afirmacion = "";
		int parametro = 1;
 
		System.out.println(" ------------------------------------");
		System.out.println(" Bienvenido a la calculadora v.2 2019");
		System.out.println(" ------------------------------------");
		System.out.println("");
		System.out.print("¿Deseas empezar'");
		afirmacion = in.nextLine();
 
		if(afirmacion.equalsIgnoreCase("si")){
			System.out.println(" 1 para sumar;");
			System.out.println(" 2 para restar;");
			System.out.println(" 3 para multiplicar;");
			System.out.println(" 4 para dividir;");
			System.out.println("");
			System.out.print(" Escriba un numero para elegir la operacion que desea: ");
			parametro = in.nextInt();
			System.out.println("");
 
			switch(parametro){
				case 1: System.out.println(" Elegiste sumar");
						System.out.println("");
						System.out.print(" Escribe el primer numero de la suma: ");
						num_uno = in.nextInt();
						System.out.println("");
						System.out.print(" Escribe el segundo numero de la suma: ");
						num_dos = in.nextInt();
 
						resultado = num_uno + num_dos;
 
						System.out.println("");
						System.out.println(" El resultado de tu suma es: " + resultado);
						System.out.print("");
						System.out.println("" + num_uno + " + " + num_dos + " = " + resultado);
						break;
 
				case 2: System.out.println(" Elegiste restar");
						System.out.println("");
						System.out.print(" Escribe el primer numero de la resta: ");
						num_uno = in.nextInt();
						System.out.println("");
						System.out.print(" Escribe el segundo numero de la resta: ");
						num_dos = in.nextInt();
 
						resultado = num_uno - num_dos;
 
						System.out.println("");
						System.out.println(" El resultado de tu resta es: " + resultado);
						System.out.print("");
						System.out.println("" + num_uno + " - " + num_dos + " = " + resultado);
						break;
 
				case 3: System.out.println(" Elegiste multiplicar");
						System.out.println("");
						System.out.print(" Escribe el primer numero de la multiplicacion: ");
						num_uno = in.nextInt();
						System.out.println("");
						System.out.print(" Escribe el segundo numero de la multiplicacion: ");
						num_dos = in.nextInt();
 
						resultado = num_uno * num_dos;
 
						System.out.println("");
						System.out.println(" El resultado de tu multiplicacion es: " + resultado);
						System.out.print("");
						System.out.println("" + num_uno + " x " + num_dos + " = " + resultado);
						break;
 
				case 4:System.out.println(" Elegiste dividir");
						System.out.println("");
						System.out.print(" Escribe el primer numero de la division: ");
						num_uno = in.nextInt();
						System.out.println("");
						System.out.print(" Escribe el segundo numero de la division: ");
						num_dos = in.nextInt();
 
						resultado = num_uno / num_dos;
 
						System.out.println("");
						System.out.println(" El resultado de tu division es: " + resultado);
						System.out.print("");
						System.out.println("" + num_uno + " ÷ " + num_dos + " = " + resultado);
						break;
			}
		} else
			if(afirmacion.equalsIgnoreCase("no")){
				System.out.println(" El programa a finalizado correctamente.");
			}
	}
}

prueba y nos dices...
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: 2.268
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por Kabuto (568 intervenciones) el 19/12/2019 00:03:05
¿Usas el Bloc de Notas por algún motivo especial?

Puede ser algo admirable, pero no eficiente.
Todos estos errores de sintaxis te los podrías haber evitado, o bien haberlos detectado tú mismo con más facilidad, usando algún IDE como Eclipse, NetBeans, IntelliJ...

Todos estos entornos de desarrollo ayudan a que el programador no tenga que invertir tanto tiempo en la sintaxis, y se centre más en la metodología y la lógica de la programación, que esto ya es más de humanos y las máquinas no pueden ayudar tanto.
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 Octavio Narvaja

Simbolo del sistema: error "orphaned case"

Publicado por Octavio Narvaja (1 intervención) el 19/12/2019 00:39:59
Hola... gracias por tu consejo!
Básicamente estoy usando el bloc de notas porque en el curso donde estoy aprendiendo a programar lo usan, pero seguramente más adelante voy a empezar a utilizar algún IDE dado que es un poco fastidioso tener que controlar la sintaxis a cada rato.
Nuevamente te doy las gracias por tu comentario! Saludos!
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: 100
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Simbolo del sistema: error "orphaned case"

Publicado por Bruno (43 intervenciones) el 19/12/2019 02:47:13
Te escribí algo de código. Fijate si te ayuda.
Saludos
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