TOPIC

Runtime error, alguém pode ajudar?

Leonardo De Oliveira Esperança asked 3 years ago

está retornando runtime error, mas não encontro o problema

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        String saida;

        while(in.hasNextLine()) {
            String entrada = in.nextLine();
            saida = "";

            for(int i=0; i<entrada.length(); i++) {
                if(entrada.charAt(i) != ',' && entrada.charAt(i) != '.' && entrada.charAt(i) != ' ') {
                    if(entrada.charAt(i) == 'l') saida = saida + '1';
                    else if(entrada.charAt(i) == 'o' || entrada.charAt(i) == 'O') saida = saida + '0';
                    else if(Character.isDigit(entrada.charAt(i)))saida = saida + entrada.charAt(i);
                }
            }

            if(!(saida.equals(""))) {
                 Integer num = Integer.parseUnsignedInt(saida);

                if(num <= 2147483647 && num >= 0) {

                    if(num != 0) System.out.println(saida);
                    else System.out.println("0");
                }
                else System.out.println("error");
            }
            else System.out.println("error");

        }   
        in.close();

    }
}

Remember not post solutions. Your post may be reviewed by our moderators.

  • Alexandre Gadelha replied 2 years ago

    Talvez esteja relacionado em um dos casos de teste do Julgador Online, mas do jeito que está talvez não passe...

    O que eu sugiro fazer é pegar as saídas geradas pelo seu algoritmo e compará-las com as saídas geradas pelo UDebug a fim de encontrar inconsistências.

    Contudo, nesse exercício, o UDebug apresenta problema em casos de teste em específico, apontarei alguns que notei abaixo:

    Entrada:

    o o2147483647
    OO2147483647

    Saída esperada real:

    2147483647
    2147483647

    Saída que o UDebug erroneamente gera:

    error
    error

    Tirando isso, tá ok. Rodei seu algoritmo no Ideone e não apresentou Runtime Error lá. Por isso imagino que possa partir de um dos casos de teste do Julgador.