Tema: Idioma Java
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/10/2014, 20:14
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: Idioma Java

Hola,

Cita:
Iniciado por croelanjr Ver Mensaje
... Estoy usando la nueva version de Java 8, y no lo veo ninguna mejora parecido en Ruby. ...
Cita:
Iniciado por croelanjr Ver Mensaje
Hola HAckman, muchas gracias por tu aporte. Sobre el tema de UTF-8 es un tema aparte, el codigo que publique es otro tema. solamente he agregado mis dudas.
Exactamente, eso lo comprendí bien, lo de UTF-8 ya Xerelo te dio la explicación del motivo por el cual funciona en Linux pero no funciona en Windows. Básicamente es porque, normalmente en Linux la Terminal es UTF-8 y en Windows la Consola es Windows-1250.

La solución mas simple es agregar en la línea de comandos, cuando ejecutas java, el encoding de todos los archivos de salida, no es la mejor solución simplemente la mas fácil.

java -Dfile.encoding=cp1252 org.package.MyClass

Pero como comentas que en Java 8 no ha habido mejoras, te puse un ejemplo de una mejora de Java 7, que ya puedes usar String en el switch. Hay algunas mejoras, no muchas pero si algunas; eso sí, el hecho que no las conozcas no significa que no hayan habido. Y definitivamente el ejemplo está bien aplicado, en lugar de usar un montón de if/then/else que tienen mucha similitud, se usa el switch, que para eso sirve.

Cita:
Iniciado por croelanjr Ver Mensaje
C:\Sites\java\Letras1.java:9: error: incompatible types: possible lossy conversion from int to char
primero = System.in.read();
El mismo problema que ya te mencionó Xerelo, en este caso estas intentando convertir un Integer en un Character, que no son lo mismo. Como se mencionó antes que un Character no era lo mismo que un String. El método read() devuelve un Integer y la variable primero está declarada como Character (char).

Cita:
Iniciado por croelanjr Ver Mensaje
C:\Sites\java\Opciones2.java:7: error: cannot find symbol
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
^
En ese caso te está diciendo que no has importado BufferedReader, ni InputStreamReader.

Código Java:
Ver original
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
Saludos,

Última edición por HackmanC; 20/10/2014 a las 20:22 Razón: agregar read devuelve Integer ...