ayuda con algoritmo de java

Tema en 'Programación & Programación Web' iniciado por lokrisx3, 23 Abr 2015.

  1. lokrisx3

    lokrisx3 Usuario Nuevo nvl. 1
    1/41

    Registrado:
    28 Nov 2014
    Mensajes:
    10
    Me Gusta recibidos:
    1
    lo que pasa es que quise probar mi primer algoritmo, identificando notas musicales según la clave americana en bluej y me destaca que la línea de "nota = notam.nextchar();" debe ser corregida o esta mala, estuve averiguando y se supone que esta bien. Agradeceria la ayuda n.n.

    import java.util.Scanner;
    public class asd_1
    {
    public static void main (String args[])
    {
    char nota;
    Scanner notam=new Scanner(System.in);
    System.out.println("ingrese nota de clave americana:");
    nota = notam.nextchar();
    switch(nota)
    {
    case a:
    System.out.println("la nota musical es: LA");

    case b:
    System.out.println("la nota musical es: Si");
    break;
    case c:
    System.out.println("la nota musical es: Do");
    break;
    case d:
    System.out.println("la nota musical es: Re");
    break;
    case e:
    System.out.println("la nota musical es: Mi");
    break;
    case f:
    System.out.println("la nota musical es: Fa");
    break;
    case g:
    System.out.println("la nota musical es: Sol");
    break;
    Default:
    System.out.println("la nota musical no existe");
    }
    }
    }
     
  2. aronarr

    aronarr Usuario Casual nvl. 2
    87/163

    Registrado:
    17 Abr 2008
    Mensajes:
    6.174
    Me Gusta recibidos:
    7
    esta mal, debería ser asi :

    case La:
    System.out.println("la nota musical es: LA");

    case Si:
    System.out.println("la nota musical es: Si");
    break;
    .
    .
    .
    .etc
     
  3. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Registrado:
    31 May 2008
    Mensajes:
    2.792
    Me Gusta recibidos:
    14
    no tengo conocimiento de java, pero si el case funciona igual que php, te faltan 2 break;

    uno al final del case a: y otro al final del default:



    no necesariamente, eso depende de como este pasando el parametro
     
  4. exxxen

    exxxen Usuario Nuevo nvl. 1
    1/41

    Registrado:
    6 Jul 2008
    Mensajes:
    7
    Me Gusta recibidos:
    0
    Hola. El error que dices te lo da porque la clase Scanner no tiene un método nextchar().
    Ahi hice algunos arreglos,para que veas lo que se cambió:
    Insertar CODE, HTML o PHP:
    
    import java.util.Scanner;
    
    public class asd_1 {
    
        public static void main(String[] args) {
            String nota;
            Scanner notam=new Scanner(System.in);
            System.out.println("ingrese nota de clave americana:");
            nota = notam.next();
                     
            switch(nota)
            {
                case "a":
                System.out.println("la nota musical es: LA");
                break;        
                case "b":
                System.out.println("la nota musical es: Si");
                break;
                case "c":
                System.out.println("la nota musical es: Do");
                break;
                case "d":
                System.out.println("la nota musical es: Re");
                break;
                case "e":
                System.out.println("la nota musical es: Mi");
                break;
                case "f":
                System.out.println("la nota musical es: Fa");
                break;
                case "g":
                System.out.println("la nota musical es: Sol");
                break;
                default:
                System.out.println("la nota musical no existe");
                break;
            }
        }
        
    }
    
    
    y otra cosa,no olvides que las clases en java deben comenzar por mayúscula,tu ejemplo es asd_1.

    Seguramente lo hace con letras porque asi es la clave americana para las notas.

    Saludos,ojalá te sirva.