Un rompecabezas de Java Random y StringBuffer

Predecir la salida del programa import java.util.Random; public class GFG {     private static Random rd = new Random();      public static void main(String[] args) {     StringBuffer word = null;     switch(rd.nextInt(2)) {         case 1: word = new StringBuffer(‘P’);         case 2: word = new StringBuffer(‘G’);         default: word = new StringBuffer(‘M’);     }     word.append(‘a’);     word.append(‘i’);     word.append(‘n’);     System.out.println(word);     } } Solución: … Continue reading «Un rompecabezas de Java Random y StringBuffer»

Rompecabezas del operador ternario de Java

Encuentre la salida del programa. public class GFG {     public static void main(String[] args) {     char x = ‘X’;     int i = 0;     System.out.print(true ? x : 0);     System.out.print(false ? i : x);     } } Solución: si ejecuta el programa, encontrará que imprime X88 . La primera declaración de impresión imprime X y la segunda … Continue reading «Rompecabezas del operador ternario de Java»

Rompecabezas Java Multicasting (Typecasting varias veces)

Encuentre la salida del programa. public class Multicast {     public static void main(String[] args) {     System.out.println((int) (char) (byte) -1);     } } Este programa es confuso de cualquier forma que lo cortes. Comienza con el valor int -1, luego convierte el int en un byte, luego en un char y finalmente vuelve a un int. El … Continue reading «Rompecabezas Java Multicasting (Typecasting varias veces)»

Asignar valores largos con cuidado en Java para evitar el desbordamiento

Predecir la salida del siguiente programa public class LongDivision {     public static void main(String[] args) {     final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;     final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;     System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);        } } Solución: Tanto el divisor como el dividendo son de … Continue reading «Asignar valores largos con cuidado en Java para evitar el desbordamiento»

Rompecabezas de bucle infinito en Java

Problema 1 : inserte código en los segmentos de código dados para que el bucle sea infinito. clase GFG { public static void main(String s[]){ /*Insertar codigo aqui*/ for (int i = inicio; i <= inicio + 1; i++) { /* Bucle infinito */ } } } Solución: parece que debería ejecutarse solo durante dos … Continue reading «Rompecabezas de bucle infinito en Java»

Diferencia entre x++ y x=x+1 en Java

En x++, aumenta el valor de x en 1 y en x=x+1 también aumenta el valor de x en 1. Pero la cuestión es que ambos son iguales o hay alguna diferencia entre ellos. Debemos ser conscientes del hecho de que cada vez que intentamos aplicar cualquier operador aritmético entre dos variables ayb, el tipo … Continue reading «Diferencia entre x++ y x=x+1 en Java»