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"); } } }
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
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
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ó: Code: 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.