|
162
|
Foros Generales / Foro Libre / Re: Las frases más amenazantes o perturbadoras
|
en: 13 Marzo 2021, 07:55 am
|
"Grace estaba sentada en mi regazo y pensé en comérmela. Vaya manera de patear, morder y rascar. La estrangulé hasta que estuvo muerta, luego la corté en trozos pequeños para poder llevar la carne a mi habitación, cocinarmela y comermela."
Albert Fish
|
|
|
165
|
Programación / Java / Re: contribucion ejemplo de eventbus
|
en: 18 Enero 2021, 23:22 pm
|
Hola de nuevo, sapito169, Chan nel con doble n y Callba ck con c . Por lo demás: Channel tipificados estarían bien, como ejercicio podrías incluir Generics y verificaciones de tipo en tiempo de ejecución . Y, por supuesto, un procesamiento asincrónico de los Events, que también son buenos para probarlos . Saludos
|
|
|
166
|
Programación / Java / Re: contribucion ejemplo de eventbus
|
en: 18 Enero 2021, 13:46 pm
|
Hola sapito169, se siente raro quedar hablando solo
¿y tu irritante metáfora se siente menos rara que un "estaría encantado de recibir sugerencias, críticas o adiciones"? Saludos
|
|
|
168
|
Programación / Java / [Aporte] Juego basado en texto [para novatos]
|
en: 16 Enero 2021, 02:06 am
|
Hola chicos, pensé que trataría de contribuir algo a la comunidad y compartir con ustedes el código fuente que escribí y con el que he estado practicando personalmente mis habilidades de programación. Espero que sea útil para cualquier principiante como yo que busque mejorar su propio código o usarlo como un recurso de aprendizaje de algún tipo. Son códigos sin terminar. ¡Si alguien tiene algo que le gustaría agregar y compartir para ayudar con mi propio aprendizaje sería muy apreciado! Es un simple juego basado en texto. Si tienen alguna pregunta, no duden en hacerla; estaré feliz de responderla lo mejor que pueda. Gracias de antemano, ¡que tengan una feliz programación! Código fuente: https://drive.google.com/file/d/1pcGN_sXT17-WTT7-BDIsEuRryTh4g18I/view?usp=drivesdk
|
|
|
169
|
Programación / Java / Re: Códigos
|
en: 16 Enero 2021, 00:37 am
|
Método que recibe una cantidad dada de segundos y devuelve un formato legible por un humano. public static String formatoDuracion(int s) { if (s < 0) s = -s; Map<String,Integer> map = new LinkedHashMap<String,Integer>(); map.put("dia",(int)Math.floor(s/86400)); map.put("hora",(int)Math.floor(s/3600) % 24); map.put("minuto",(int)Math.floor(s/60) % 60); map.put("segundo",(int)Math.floor(s/1) % 60); return map.entrySet().stream() .filter(x -> x.getValue() != 0) .collect(Collectors.toMap( e -> e.getValue() > 1 ? e.getKey() + "s" : e.getKey(), Map.Entry::getValue, (v1, v2) -> v1 > v2 ? v1 : v2, LinkedHashMap::new)) .entrySet().stream() .map(e -> e.getValue() + " " + e.getKey()) .collect(Collectors.joining(", ")).replaceAll("\\b, \\b(?!.*\\b, \\b)", " y "); }
System.out.println(formatoDuracion(1)); //1 segundo System.out.println(formatoDuracion(61)); //1 minuto y 1 segundo System.out.println(formatoDuracion(-61)); //1 minuto y 1 segundo System.out.println(formatoDuracion(62)); //1 minuto y 2 segundos System.out.println(formatoDuracion(86400)); //1 dia System.out.println(formatoDuracion(90061)); //1 dia, 1 hora, 1 minuto y 1 segundo System.out.println(formatoDuracion(180122)); //2 dias, 2 horas, 2 minutos y 2 segundos System.out.println(formatoDuracion(1000000)); //11 dias, 13 horas, 46 minutos y 40 segundos System.out.println(formatoDuracion(34325055)); //397 dias, 6 horas, 44 minutos y 15 segundos
|
|
|
170
|
Programación / Java / Re: Códigos
|
en: 16 Enero 2021, 00:24 am
|
Un hombre tiene un automóvil bastante viejo que vale $ 2000. Vio un automóvil de segunda mano que valía $ 8000. Quiere quedarse con su coche viejo hasta que pueda comprar uno de segunda mano. Él cree que puede ahorrar $ 1000 cada mes, pero los precios de su auto viejo y del nuevo disminuyen en un 1.5 por ciento por mes. Además, este porcentaje de pérdida aumenta en un 0,5% al final de cada dos meses. A nuestro hombre le resulta difícil hacer todos estos cálculos. ¿Puedes ayudarlo? ¿Cuántos meses le llevará ahorrar suficiente dinero para comprar el auto que quiere y cuánto dinero le sobrará? public static int[] nbMonths(double startPriceOld, double startPriceNew, int savingperMonth, double percentLossByMonth){ double total = startPriceOld - startPriceNew; int month=0, savingperMonthAcum = 0; while (total<0) { percentLossByMonth = ++month%2 == 0 ? percentLossByMonth+0.5 : percentLossByMonth; startPriceOld = startPriceOld-(startPriceOld*(percentLossByMonth/100)); startPriceNew = startPriceNew-(startPriceNew*(percentLossByMonth/100)); total = startPriceOld-startPriceNew+savingperMonth+savingperMonthAcum; savingperMonthAcum += savingperMonth; } return new int[] {month, (int)Math.round(total)}; }
System.out.println(Arrays.toString(nbMonths(2000, 8000, 1000, 1.5))); System.out.println(Arrays.toString(nbMonths(12000, 8000, 1000, 1.5))); System.out.print(Arrays.toString(nbMonths(2800 ,4600 ,1000 ,1.2)));
|
|
|
|
|
|
|