Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Scanner;
- /**
- * Created by ChaosFire on 13.11.2017 г.
- */
- public class TheWalker {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- //чета и парсвам към long масив чрез stream
- long[] time = Arrays.stream(scanner.nextLine().split(":")).mapToLong(Long::parseLong).toArray();
- //директно парсвам и умножавам входа и ползвам long, int.max * int.max ще превърти, виж constraints
- //първия parse са стъпките, а втория времето за стъпка
- long walkTime = Long.parseLong(scanner.nextLine()) * Long.parseLong(scanner.nextLine());
- scanner.close();
- //добавяме всички секунди
- time[2] += walkTime;
- //челочислено деление, връща целите минути
- long extraMinutes = time[2] / 60;
- //секундите са остатъка от делението след като вече сме взели всички минути
- time[2] %= 60;
- //добавяме всички минути
- time[1] += extraMinutes;
- //аналогично, но връща целите часове
- long extraHours = time[1] / 60;
- //аналогично, минутите са остатък след като вземем часовете
- time[1] %= 60;
- time[0] += extraHours;
- /*
- часовете могат да станат много голямо число, гарантираш си точно изчисление, дори в тези случаи
- */
- time[0] %= 24;
- System.out.printf("Time Arrival: %02d:%02d:%02d", time[0], time[1], time[2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement