Corretor automático

Corretor automático

por Bruna Meneguzzi -
Número de respostas: 6

Boa noite,

Enviei meu EP, mas o corretor automático resulta em falha em alguns testes, apesar de eles funcionarem aqui no meu computador. Gostaria de ajuda para identificar o problema, porque me parece estranho os testes funcionarem no meu computador e não serem aprovador no corretor.

Outra coisa, um dos testes diz "Verificando se lança exceções corretas com argumento nulo" e eu coloquei a exceção em todos os pontos que imaginei possíveis.. estou lançando as exceções de forma errada?

Por favor e muito obrigada,

Bruna Meneguzzi

Em resposta à Bruna Meneguzzi

Re: Corretor automático

por Pedro Almeida -

Eu também tive problema com os testes de exceção, apesar de lançá-las em todos os métodos que recebem parâmetros. 

Em resposta à Pedro Almeida

Re: Corretor automático

por Victor Martins João -

Olá Pedro, 
Eu também dei uma olhada no seu código e ele não está passando nas exceções, porque você está fazendo a segunte comparação:

p.equals(null)

Quando p == null, ele retorna true, uma vez que null == null, e por isso ele falha nos testes.

Abraços

Em resposta à Bruna Meneguzzi

Re: Corretor automático

por Victor Martins João -

Olá Bruna, 
Eu dei uma olhada lá no seu código, no PointST ele falha nos testes do nearest, porque ele não ta retornando a quantidade certa, eu testei com k = 2 e ele retornou apenas 1 ponto.
No KdTreeST, a função range esta falhando no teste, mas o problema não está nele e sim no put(), nos testes que eu fiz ele não inseria corretamente todos os pontos.
E com relação as exceções, tem algumas funções que você está lançando a exceção NullPointerException, enquanto no enunciado pede:
Corner cases.  Throw a java.lang.IllegalArgumentException if any argument is null.
Espero ter ajudado e se continuar não passando nos testes, manda aqui de novo sorriso
Abraços

Em resposta à Victor Martins João

Re: Corretor automático

por Bruna Meneguzzi -

Oi! 

Muito obrigada! Consegui resolver alguns problemas, exceto o nearest(Point2D p), eu faço o teste no main() e dá certo, mas não passa no teste do corretor. Não é suficiente calcular a distância do ponto p a todos os outros pontos e ficar com o ponto com menor distância? 

 

Obrigada!

Abraços 

Em resposta à Bruna Meneguzzi

Re: Corretor automático

por Victor Martins João -

Olá Bruna,
É suficiente calcular a distância do p aos outros pontos e ficar com a menor distância, mas pelo teste o seu programa não está fazendo isso, no PointST ele está retornando:
Symbol table underflow
E no KdTree ele retorna a quantidade errada de pontos em um dos casos.
Da uma olhada na estrutura do seu código para ver se ele está fazendo realmente o que você deseja. Se possível, tenta simular na mão para k = 1, 2, 3, ...
Vê se ele retorna sempre a quantidade certa e se os pontos que ele deveria retornar são os certos.

Obs: Use distanceSquaredTo(), não distanceTo().

Se precisar de ajuda para isso é só chamar sorriso

Abraços