Erro de compilaçao

5 respostas
P

Gente estou fazendo uma classe java, me dá esses erros e nºao entendo porque! me ajudem pf

Text.java:36: array required, but java.util.ArrayList found

if(words[i].isSamePrefix(words[i + j] , prefixSize)){

^

Text.java:36: array required, but java.util.ArrayList found

if(words[i].isSamePrefix(words[i + j] , prefixSize)){

^

Text.java:37: array required, but java.util.ArrayList found

badWords.add(words[i]);

^

Text.java:38: array required, but java.util.ArrayList found

badWords.add(words[i+j]);

^

Text.java:87: array required, but java.util.HashSet found

report.append(formatWord(badWords[i]));

import java.util.ArrayList;
import java.util.HashSet;

/**

  • Uma classe que manipula e representa textos
  • @author Paulo Costa e Eduardo Ferreira

*/

public class Text {

private ArrayList<Word> words = new ArrayList<Word>();
private String format;
private HashSet<Word> badWords = new HashSet<Word>();


public Text(String[] text){

for(int l = 0; l < text.length; l++){          
    String [] line = text[l].split("[\\s\\t\\n\\;\\.\\:\\,\\!\\?\\(\\)\\'\\-]");

    for (int i = 0; i < line.length; i++) { 
	words.add(new Word(line[i], l+1, i+1));
    }
   	}
}

public void findBadWords(int delta, int prefixSize){

badWords.clear();
for(int i = 0 ; i < words.size() ; i++)
    for(int j = -delta ; j<=delta && (i + j) <words.size() ; j++){
	if(j==0||i+j<0)
	    continue;
     	if(words[i].isSamePrefix(words[i + j] , prefixSize)){
	    badWords.add(words[i]);
	    badWords.add(words[i+j]);
	}
    }
}





public void defineReport(String format){

this.format= format;
}

public String formatWord(Word word){

StringBuffer f = new StringBuffer("");
String[] f1 = format.split("%");

for(int i = 1 ; i < f1.length ; i++){
    switch( f1[i].charAt(0)){
    case 'w': f.append(word.getWord());
	break;
    case 'l': f.append(word.getLinePosition());
	break;
    case 'p': f.append(word.getWordPosition());
	break;
    case 'c': f.append(",");
	break;
    case 'n': f.append("\r\n");
	break;
    case 't': f.append("\t");
	break;
    case 's': f.append(" ");
	break;
    case '(' : f.append("(");
	break;
    case ')': f.append(")");
	break;
    }
}
return f.toString();
}


public String printReport(){

StringBuffer report = new StringBuffer("");
for(int i = 0 ; i < badWords.size(); i++){
    report.append(formatWord(badWords[i]));
}
return report.toString();
}

}

5 Respostas

drsmachado

A questão é que você confundiu Array com ArrayList.
Um array do objeto Word seria

Word[] words = new Words[100];
//array com 100 elementos

Cuja forma de percorrer seria

words[x];

Porém, se quer manter o ArrayList, use

words.get(index);

Certo?

RenanRosa

drsmachado:
A questão é que você confundiu Array com ArrayList.
Um array do objeto Word seria

Word[] words = new Words[100];
//array com 100 elementos

Cuja forma de percorrer seria

words[x];

Porém, se quer manter o ArrayList, use

words.get(index);

Certo?

Drsmachado, Coloque o link daquele tópico ensinando bbcode pra ele, não sei onde está e não tenho aqui

drsmachado

Está aí

Antes de mais nada…

RenanRosa

drsmachado:
Está aí

Antes de mais nada…

Valeu, até coloquei na minha assinatura

P

Valeu gente! Muito obrigado!

Criado 25 de maio de 2011
Ultima resposta 25 de mai. de 2011
Respostas 5
Participantes 3