Seguimos con las estructuras condicionales. En este caso vemos la estructura switch con un ejemplo donde aplicaremos lo aprendido hasta ahora.
Para más cursos, manuales y ejercicios, visita http://www.pildorasinformaticas.com

source

50 COMMENTS

  1. hola tengo una duda
    en el "case 3" no creaste las variables base y altura
    porque están declaradas en "case 2" pero por que el programa ejecuta lineas
    que están en la condición que no se cumple?? esto no puede generar errores en programas mas complejos??

  2. Hola Juan
    En el Case 4 al igual que en el Case 1, haz introducido una variable de tipo "Int" como parametro para el metodo Pow. En la api indica que el metodo Pow toma como parametros valores "double", como es posible que esto funcione con valores "int" ?

  3. 4 años desde que montaste el material , y por aqui voy # 17. no tengo palabras para agradecer la forma tal fluida, practica y facil como lo explicas. tengo un proyecto en mente que no me deja dormir por ello sigo uno a uno tus videos mil gracias eres un maestro estupendo. a esto quiero llegar lograr hacer algo asi no me deja contemplar el sueño echale un vistaso

    pero me e puesto en la tarea antes de buscar y copiar INTERPRETAR ,

  4. Tengo una consultita…
    cuando escibo : import java.util.Scanner; en este caso es cuando funciona el código..pero si escribo: import java.util.*; de esta manera me da error! sabrás a que se debe esto? espero que veas esto aunque ya haya pasado tres años 😛 .
    error: constructor Scanner in class Scanner cannot be applied to given types;

  5. por que me marca error "mpilation problems:
    Access restriction: The type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The method showInputDialog(Object) from the type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The method showInputDialog(Object) from the type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The method showInputDialog(Object) from the type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Duplicate local variable base
    Access restriction: The type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The method showInputDialog(Object) from the type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Duplicate local variable altura
    Access restriction: The type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar
    Access restriction: The method showInputDialog(Object) from the type JOptionPane is not accessible due to restriction on required library C:Program Files (x86)Javajre1.8.0_151librt.jar

  6. Me da el siguiente error en consola cuando quiero utilizo la opción número 4, la del área del circulo.
    Están importadas las dos librerías java.util.*; y javax.swing.*;

    Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '1'
    at java.util.Formatter.checkText(Unknown Source)
    at java.util.Formatter.parse(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.io.PrintStream.format(Unknown Source)
    at java.io.PrintStream.printf(Unknown Source)
    at AreasFiguras.main(AreasFiguras.java:40)

    Ya intenté con ésta solución que estaba en los comentarios, cerré y volvía a abrir eclipse y sigue igual.
    http://www.pildorasinformaticas.es/archivos/java/JOptionPane_problema.jpg

    Espero me puedas ayudar, muchas gracias por el curso, excelente profesor.

  7. Buenas tardes. La aparición de la robótica en lego y la posibilidad de programar los robots a través de java con LejOS me ha hecho comenzar a aprender a programar en java. Que gran curso has hecho…soy programador y aún así me he puesto desde 0. Gracias de antemano y enhorabuena.
    Ahora la duda: en el vídeo 17 (condicionales II) y concretamente en el caso 3 del switch del ejemplo veo que no declaras las variables base y altura (directamente las inicializas con la entrada de datos). Es verdad que están declaradas como int en el caso 2, pero, ahí mi duda. Cómo es posible que no de error en ejecución al elegir el valor 3 si se salta la declaración de variables del caso 2??. Es necesario o solo aconsejable hacer las declaraciones de variables? (Espero haberme explicado). Un saludo y gracias otra vez

  8. profe estoy intentando hacer esta condicion

    if (promedio>10<15){

    System.out.println("Bien hecho pero aun debes esforzarte mas ");

    }

    pero me dice este error the operator < is undefined for the argument type
    pero si borro el < o el > se quita el error no puedo tener una condicion con dos operadores?

  9. Deberías haber usado double en la fórmula del triángulo por que sino devuelve números entero como por ejemplo 3*5/2 = 7.5 tu programa devuelve 7 pero de todas maneras buen trabajo el hecho de que me haya percatado de eso es que estoy aprendiendo gracias por los tutoriales

  10. Hola, me llamo Fernando, de Portugal y estoy siguiendo el curso desde hace tres dias siguiendo las clases ininterruptamente. En la primera línea que escribimos en esta clase: "Scanner entrada=new Scanner(System.in);" me da el siguiente error: Resource leak: 'entrada' is never closed. No sé que hacer, no consigo solucionarlo. Gracias por tus clases y tu destreza explicando.

  11. Buenos días Juan, tengo una pregunta, ¿Por qué se puede usar una variable (minuto 18 con 43) en el case 3, que está definida en un bloque de código que no se ejecuta?, por ejemplo, la variable "base" que está definida en el case 2 y que no se ejecutaría si en un momento selecciono la opción 3…

  12. Buenas Juan, me surge una duda. Si se supone que Java iría saltando los casos del switch siempre que no se cumplan, ¿como es posible que podamos 'reciclar' las variables "base" y "altura"?. Si elegimos el triángulo, nunca entra en el caso 2, por lo que nunca se declararían esas variables, ¿no?
    Entiendo que si funciona, es porque realmente sí lee esa parte de código y las declara, pero me choca bastante que un lenguaje tan meticuloso con algunas cosas ( solo le falta que te pida que pulses las teclas con la misma fuerza, si no, no te reconoce la variable, jejeje) se salte ésto y no te pida la declaración fuera de los límites del switch.

  13. String respuesta=JOptionPane.showInputDialog("condicion if o switch, respone con f o s");

    if (respuesta=="f") {
    }
    else {
    System.out.println("adios");
    }
    ….
    cuando intento ejecutar y pongo f como respuesta, siempre me sale adios. ¿por qué?

  14. Hola, en el área del círculo declaraste una variable de tipo int llamada radio, y devolvió un resultado con decimales ¿Por qué no arrojó un resultado de tipo entero o no te pidió el programa que cambiaras la variable a double por ejemplo? ¿O es que al escribir "System.out.printf("%1.2f");" es una instrucción distinta independiente de la variable int por lo cual te acepta decimales? Gracias por este curso, tengo esta duda existencial xD

  15. maestro una pregunta?? en el caso del swtich(){} ,,,,,, solo sirve para evaluar numeros???, ya que en los CASES solo usabamos case 1: case 2: ,etc, o tambien se pueden evaluar variables float, char, String ????

  16. 18:38 Vaya barbaridad, eso en c no está ni permitido jajaja. Deberías haber encapsulado los casos y declarar la variable en cada caso (o declararla antes del switch), pero declararla en un caso y reutilizarlo en otro… madre mía.

  17. Saludos, No siempre las áreas son enteras. ¿Cómo programamos para introducir decimales y obtener salidas, también con decimales?
    Otra cosa. Al declarar el objeto Entrada, usé var Entrada = new Scanner(System.in); Es correcto? Porque Eclipse no ha reportado error…

  18. hola profe tengo una duda ! en pascal, en el homologo del switch de java , yo podia darle al valor que se 0valuaba en case un determinado rango por ejemplo de 0 a 5 para ejecutarle un sola sentencia. puedo hacer lo mismo con java?

  19. AMIGO TENGO UNA DUDA.
    COMO SABES EL LADO NO SIEMPRE SERÁ DE TIPO ENTERO, ENTONCES TU ME ENSEÑASTE A CONVERTIR UN DATO DE TIPO STRING A TIPO INT, PERO,¿COMO PUEDO CONVERTIR EL DATO INT A DOUBLE?. HABLO DEL LADO DEL CUADRADO. QUISIERA INGRESAR UN DECIMAL PERO ME DA ERROR, POR FAVOR AYUDA … GRACIAS 😀 SALUDOS DESDE PERÚ!

  20. No entiendo por qué se pueden reutilizar las variables base y altura, si se selecciona el caso 3, supongo que no se ejecutan las instrucciones del caso 2 por lo que las variables de ese caso no debieron haber sido declaradas, eso es lo que me confunde.

  21. Ese fallo que comentas con el recuadro del JOptionPane solo sucede cuando la variable en que se va a guardar lo pedido no es un string, si checas la clase "EntradaDeNumeros" del video 15 no sucede eso por que en el dato pedido se guardo en un string y no como este que se guardo en un int.

LEAVE A REPLY

Please enter your comment!
Please enter your name here