Ordenando ArrayList [Collections.sort()]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
jeias
HelloWorld
[Avatar]

Membro desde: 22/03/2011 18:16:46
Mensagens: 12
Offline

Bom dia, estou com um pequeno problema na hora de ordenar e imprimir um ArrayList.



O erro é o seguinte:
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.compareTo(Unknown Source)
at snake2.Ranking$Pessoa.compareTo(Ranking.java:47)
at snake2.Ranking$Pessoa.compareTo(Ranking.java:1)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at snake2.Ranking.imprimir(Ranking.java:80)
at snake2.Ranking.main(Ranking.java:100)


No bloco de notas onde salvo os nomes e scores(output.txt), estão todos certos. O que penso que seja o problema é na hora de add no arraylist ou na hora de ordenar.
Agradeço desde já.
fre_d
Java Ninja

Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline

Você está lendo a linha 3x. Você deve usar o conteudo da variável linha. Toda vez que vc executa leitor.readLine() o arquivo pula para a proxima linha.

Abraço,

Fred

jeias wrote:Bom dia, estou com um pequeno problema na hora de ordenar e imprimir um ArrayList.



O erro é o seguinte:
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.compareTo(Unknown Source)
at snake2.Ranking$Pessoa.compareTo(Ranking.java:47)
at snake2.Ranking$Pessoa.compareTo(Ranking.java:1)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at snake2.Ranking.imprimir(Ranking.java:80)
at snake2.Ranking.main(Ranking.java:100)


No bloco de notas onde salvo os nomes e scores(output.txt), estão todos certos. O que penso que seja o problema é na hora de add no arraylist ou na hora de ordenar.
Agradeço desde já.
jeias
HelloWorld
[Avatar]

Membro desde: 22/03/2011 18:16:46
Mensagens: 12
Offline

fre_d wrote:Você está lendo a linha 3x. Você deve usar o conteudo da variável linha. Toda vez que vc executa leitor.readLine() o arquivo pula para a proxima linha.

Abraço,

Fred


Não intendi Fred ;s
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Oi,

preste atenção no seu laço de repetição (while):



O que ele tem de errado?
Viu? Não? Então vou lhe dizer. Você já executa um readLine() como condição do While, concorda? Dentro dele, você executa mais duas vezes estes método, para pegar o nome e depois o score. Não deve ser feito dessa forma. Você precisa ter definido como está o arquivo que está lendo para saber como trata-lo em seu while, mas dessa forma, com certeza vai gerar erro.

Abraços.

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
lucasportela
JavaTeenager

Membro desde: 28/12/2010 16:46:01
Mensagens: 198
Offline

nel wrote:Oi,

preste atenção no seu laço de repetição (while):



O que ele tem de errado?
Viu? Não? Então vou lhe dizer. Você já executa um readLine() como condição do While, concorda? Dentro dele, você executa mais duas vezes estes método, para pegar o nome e depois o score. Não deve ser feito dessa forma. Você precisa ter definido como está o arquivo que está lendo para saber como trata-lo em seu while, mas dessa forma, com certeza vai gerar erro.

Abraços.


O que o nel disse é que da forma como você está fazendo, estava lendo 3 linhas a cada iteração. Abaixo vai um exemplo do que o nel explicou

This message was edited 2 times. Last update was at 19/09/2011 13:37:20


Precisa controlar o patrimônio de informática de sua empresa em um clique?

Controle de Patrimônio de Informática

Sobre java:

Java
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team