"Vengo en son de paz. No traje artillería. Pero les estoy suplicando, con lágrimas en los ojos: si me joden, los mataré a todos".
Gen Mad Dog Mattis
Gen Mad Dog Mattis
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: sapito169 en 18 Enero 2021, 02:52 AM
se siente raro quedar hablando solo
Cita de: sapito169 en 23 Diciembre 2020, 01:09 AM
porfavor respondamen no me castiges con el latigo de tu indiferencia
no me rechazes como ella
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
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)));