Runtime error no URI (exercicio 1061)

Boa noite a todos, e obrigado a cada que oferecer um tempo para me ajudar na solução. O exercicio que irei listar abaixo resolvi ele no meu computador e ele execulta perfeitamente, mas quando posto ele no URI da erro de Runtime. o que pode ser:

O exercicio:

Pedrinho está organizando um evento em sua Universidade. O evento deverá ser no mês de Abril, iniciando e terminando dentro do mês. O problema é que Pedrinho quer calcular o tempo que o evento vai durar, uma vez que ele sabe quando inicia e quando termina o evento.

Sabendo que o evento pode durar de poucos segundos a vários dias, você deverá ajudar Pedrinho a calcular a duração deste evento.

Entrada

Como entrada, na primeira linha vai haver a descrição “Dia”, seguido de um espaço e o dia do mês no qual o evento vai começar. Na linha seguinte, será informado o momento no qual o evento vai iniciar, no formato hh : mm : ss . Na terceira e quarta linha de entrada haverá outra informação no mesmo formato das duas primeiras linhas, indicando o término do evento.

Saída

Na saída, deve ser apresentada a duração do evento, no seguinte formato:

W dia(s)
X hora(s)
Y minuto(s)
Z segundo(s)

Obs: Considere que o evento do caso de teste para o problema tem duração mínima de 1 minuto.

Abaixo o meu código:

import java.util.Locale;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	Locale.setDefault(Locale.US);
	Scanner sc = new Scanner(System.in);
	
	int w1, x1, y1, z1;
	int w2, x2, y2, z2;
	char ponto;
	
	System.out.printf("Dia ");
	w1 = sc.nextInt();
	
	x1 = sc.nextInt();
	ponto = sc.next().charAt(0);
	
	y1 = sc.nextInt();
	ponto = sc.next().charAt(0);
	
	z1 = sc.nextInt();
	
	System.out.printf("Dia ");
	w2 = sc.nextInt();
	
	x2 = sc.nextInt();
	ponto = sc.next().charAt(0);
	
	y2 = sc.nextInt();
	ponto = sc.next().charAt(0);
	
	z2 = sc.nextInt();
	
	
	int sec1 = w1 * 86400;
	int sec2 = ((x1 * 3600) + ( y1 * 60) + z1);
	int totalSec1 = sec1 + sec2; 
	
	int sec3 = w2 * 86400;
	int sec4 = ((x2 * 3600) + ( y2 * 60) + z2);
	int totalSec2 = sec3 + sec4; 
	
	int segundosTotal = totalSec2 - totalSec1;
	
	int dias = segundosTotal / 86400;
	int resto = segundosTotal % 86400;
	
	int horas = resto / 3600;
	resto = resto % 3600;
	
	int minutos = resto / 60;
	resto = resto % 60;
	
	int segundos = resto;
	
	System.out.println(dias + " dia(s)");
	System.out.println(horas + " hora(s)");
	System.out.println(minutos + " minuto(s)");
	System.out.println(segundos + " segundo(s)");
	
	
	
	
	
	
	sc.close();
}

}

O URI não deu o erro completo?

Vi que você está fechando o Scanner com o System.in na última linha, não é recomendado fazer isso. Mais detalhes aqui.

O input começa com a String “Dia” mas a primeira coisa que tentas ler é um int - tens aqui o teu problema.

Obrigado pela ajuda e foi quase isso, o meu erro principal foi ter começado com um System.out.println("Dia "); e a questão era para eu digitar a palavra dias e não o programa digitar. Além disso utilizei o comando next() após digitar o número de horas para absorver o “:”.
E aproveitei para refatorar todo o código, até achar os problemas. Obrigado

Segue abaixo o código correto após ser refaturado. Qualquer sugestão será muito bem vinda.

import java.util.Locale;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	Locale.setDefault(Locale.US);
	Scanner sc = new Scanner(System.in);
	
	int w1, x1, y1, z1;
	int w2, x2, y2, z2;
	String day;
			
	day = sc.next();
	
	w1 = sc.nextInt();
	x1 = sc.nextInt();
	sc.next();
	y1 = sc.nextInt();
	sc.next();
	z1 = sc.nextInt();
	
	day = sc.next();		
	w2 = sc.nextInt();
	
	x2 = sc.nextInt();
	sc.next();
	y2 = sc.nextInt();
	sc.next();
	z2 = sc.nextInt();
	
	int inicio = (w1 * 24 * 60 * 60)+ (x1 * 60 * 60) + (y1 * 60) + z1;
	int fim = (w2 * 24 * 60 * 60)+ (x2 * 60 * 60) + (y2 * 60) + z2;
	
	int segundosTotal = fim - inicio;
	
	int dias = segundosTotal / (24*60*60);
	int resto = segundosTotal % (24*60*60);
	System.out.println(dias + " dia(s)");
	
	int horas = resto / (60*60);
	resto = resto % (60*60);
	System.out.println(horas + " hora(s)");
	
	int minutos = resto / 60;
	resto = resto % 60;
	System.out.println(minutos + " minuto(s)");
	
	int segundos = resto;
	System.out.println(segundos + " segundo(s)");
			
	sc.close();
}

}