[ Foro de Java ]
Buenas, en ese ejercicio hay khacer alguna conversion de byte a short???
Por cierto 4.3.2 y 4.3.3 son iguales, un saludo.
No debería ser necesario. En casi cualquier lenguaje de programación, el guardar datos de menor tamaño dentro de una variable de mayor tamaño no supone problemas; cuando sí hay que forzar la conversión es en caso contrario, cuando quieres guardar dentro de un "byte" un dato que proviene de un "short", porque el sistema te avisará de que quizá no quepa o pierda precisión.
El 4.3.3 debería calcular "el resto de la división", para practicar el uso del operador "%". Ya está corregido. Gracias por el aviso.
Seria algo asi????
System.out.println ("Escriba el primer numero ");
byte primerNumero = teclado.nextByte ();
System.out.println("Escriba el segundo numero ");
byte segundoNumero = teclado.nextByte ();
System.out.println("La suma de los numeros es ");
short suma = primerNumero + segundoNumero;
System.out.println(suma);
Tiene muy buena pinta. ;-)
Me da este error:
incompatible types: possible lossy conversion int7 to short
Cierto. Últimamente trabajo mucho más con C# (que es más natural) que con Java (que se queja de muchas más cosas que deberían ser innecesarias) y doy por sentado que lo sencillo debería ser sencillo... ;-)
El fuente debería ser así:
import java.util.Scanner;
class Ej04_03_05 {
public static void main( String args[] ) {
Scanner teclado = new Scanner(System.in);
System.out.println ("Escriba el primer numero ");
byte primerNumero = teclado.nextByte ();
System.out.println("Escriba el segundo numero ");
byte segundoNumero = teclado.nextByte ();
System.out.println("La suma de los numeros es ");
short suma = (short) (primerNumero + segundoNumero);
System.out.println(suma);
}
}
Corregiré el enunciado del ejercicio para que use "int" en vez de "short" y así será más "previsible".
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)