[ Foro de Java ]

Ejercicio 4.3.5

23-Jan-2015 10:25
oscar collado
5 Respuestas

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.


23-Jan-2015 10:41
Nacho Cabanes (+83)

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.


25-Jan-2015 23:41
oscar collado

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);


26-Jan-2015 00:49
Nacho Cabanes (+83)

Tiene muy buena pinta. ;-)


26-Jan-2015 09:48
oscar collado

Me da este error:

incompatible types: possible lossy conversion int7 to short


27-Jan-2015 01:26
Nacho Cabanes (+83)

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.)