Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Problema con letra ñ

Estas en el tema de Problema con letra ñ en el foro de Java en Foros del Web. El programa funciona con todas las letras menos con la letra ñ, no es algo muy importante, pero me gustaría saber como hacer para que ...
  #1 (permalink)  
Antiguo 14/03/2013, 04:49
 
Fecha de Ingreso: noviembre-2012
Ubicación: Adra
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con letra ñ

El programa funciona con todas las letras menos con la letra ñ, no es algo muy importante, pero me gustaría saber como hacer para que me coja la ñ. La comprobación de la letra Ñ comienza en la línea 27.

Este es el código:
Código Java:
Ver original
  1. package repaso;
  2. import java.io.*;
  3. public class Repaso {
  4.     public static void main(String args[]){
  5.         int num=0;
  6.         boolean tieneÑ=false;
  7.         String numero="", nombre;
  8.         BufferedReader teclado=new BufferedReader(new InputStreamReader(System.in));
  9.         try{
  10.             do{
  11.                 System.out.print("Introduce un número entre 10 y 30: ");
  12.                 numero=teclado.readLine();
  13.                 num=Integer.parseInt(numero);          
  14.                 if(num%5==0)
  15.                     System.out.println("El número es divisible entre 5.");
  16.                 else
  17.                     System.out.println("El número no es divisible entre 5.");
  18.             }while(num <=10 || num >=30);
  19.             System.out.print("Introduce tu nombre: ");
  20.             nombre=teclado.readLine();
  21.             System.out.println("El nombre "+nombre+" tiene "+nombre.length()+" caracteres.");
  22.             System.out.println("El primer caracter de "+nombre+" es "+nombre.charAt(0));
  23.             System.out.println("El ultimo caracter de "+nombre+" es "+nombre.charAt(nombre.length()-1));
  24.             System.out.println("El nombre en mayusculas es: "+nombre.toUpperCase());
  25.             System.out.println("El nombre en minusculas es: "+nombre.toLowerCase());
  26.            
  27.             for(int i=0; i<nombre.length(); i++)
  28.                 if(nombre.charAt(i)=='ñ' || nombre.charAt(i)=='Ñ')
  29.                     tieneÑ=true;
  30.             System.out.println((tieneÑ?"Si ":"No ")+" tiene ñ.");
  31.         }catch(Exception e){
  32.             System.out.println(e.getMessage());
  33.         }
  34.     }
  35. }

Última edición por rufi88; 14/03/2013 a las 05:07
  #2 (permalink)  
Antiguo 14/03/2013, 05:39
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema con letra ñ

Podría ser un problema de codificación¿? Prueba a imprimir el nombre antes de la comparación a ver que te sale.

En todo caso puedes usar nombre.toLowerCase().indexOf("ñ") >= 0 para la comparacion.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 14/03/2013, 05:51
 
Fecha de Ingreso: noviembre-2012
Ubicación: Adra
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con letra ñ

El nombre me sale con un carácter especial en vez de la ñ, puede ser por el tipo de codificación de mi sistema operativo?
  #4 (permalink)  
Antiguo 14/03/2013, 06:15
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema con letra ñ

Pues seguramente tengas algún Locale asociado a la configuración de teclado distinto a "es_ES". Revisa la configuración idiomática del SO.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 14/03/2013, 06:27
 
Fecha de Ingreso: noviembre-2012
Ubicación: Adra
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con letra ñ

Si, es eso entonces, tengo instalado un juego en chino y cambie la configuración del lenguaje, gracias por la otra solución, es mas sencilla ^^

Etiquetas: letra, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.