to tentado fazer meu programa ler um arquivo txt, e classifica-lo via algoritimo de classficação,ele até lê o arquivo txt,só que não está classficando…
alguém poderia dar uma ajuda?
obrigado.
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
File f = new File (“C:\nome.txt”);
FileReader fr = new FileReader(f);
int a;
do{
a = fr.read();
char c= (char) a;
char classifica = c;
}while(a != -1);
fr.close();
}
/* (non-Java-doc)
* @see java.lang.Object#Object()
*/
public Main() {
super();
}
public void Classifica(char[]classifica){
char ordena;
for(int i=0; i < classifica.length -1; i++)
for(int j = i + 1; j < classifica.length; j++)
if(classifica[j] < classifica[i]) {
ordena=classifica[j];
classifica[j] = classifica[i];
classifica[i] =ordena;
}
System.out.println(Arrays.toString(classifica));
}
}
Muito obrigado
A solução do seu problema começa por aqui
Há dois motivos muito fortes para não estar classificando:
a) Você não está lendo os dados do arquivo para dentro do array;
b) Você não está chamando a função de classificação em local nenhum do seu código.
obrigado cara,da próxima vez irei postar usando a tag [code]…
e eu suspeitava que eu não estava passando meu array para o método que ordena,mas tb achei que estava add no array de maneira correta…
vou buscar como fazer isso…
alguém sabe pq meu vetor não ta adicionando?
to quebrando a cabeça e essa porra não vai…
do{
a = fr.read();
char c= (char) a;
char classifica [];
classifica = new char[c];
add.classifica = c;
}while(a != -1);
eu fiz um vetor com o tamanho de “c”, c é a quantidade de char que ele lê de um arquivo txt…
obrigado pessoal
ele da erro no add.classifica = c;
Você tem que usar a sintaxe que existe no Java.
Inventar uma não vai fazer seu programa funcionar.
Antes de tentar dar um voo mais alto, que tal revisar o Java Básico?
http://www.caelum.com.br/apostila-java-orientacao-objetos/um-pouco-de-arrays/
cara obrigado novamente,só que o problema está no fato de eu ter de adicionar dados do tipo char em um arraylist…
do{
a = fr.read();
char c= (char) a;
ArrayList<String> classifica = new ArrayList<>();
classifica.add = c;
}while(a != -1);
só da uma help no sentido de ,posso fazer um arraylist de char?
obrigado novamente
Pode sim. É só criar um List<Character>
Além disso veja dicas de uso aqui:
http://www.guj.com.br/prepost/74068/389435/classe-vector