Funcao com strings

7 respostas
VIRGO

Tenho uma duvida, tenho que fazer uma funcao para comparar duas strings para comparar uma descrição.
A string está num ficheiro .txt e vou introduzir uma string para comparar aquela k está no ficheiro.
fiz esta mas dá me erro. alguem me pode ajudar?
obrigada

public static String pesquisa(String desc){
        int i=0;
         while (i<evento.size() && evento.get(i).get_descricao()!=desc)
            i++;
        if(i<evento.size())
            if(desc.equals(i))
            return  desc;
        else
            return ??????;
    }

7 Respostas

H

Olá,

Estou tentando entender qual é a real função deste seu código, mas reparei uma coisa. Neste ponto estais tentando comparar uma String com um int, não?

if(desc.equals(i))

Valeu

nel

Oi,

não me atentei a sua necessidade e sua lógica, mas veja essa linha:

while (i<evento.size() && evento.get(i).get_descricao()!=desc)

Não se usa ‘=’ ou ‘!=’ para comparação de String, e sim o equals. No seu caso, queres verificar se a descrição é diferente da que recebestes, portanto:

while (i<evento.size() && !evento.get(i).get_descricao().equals(desc))

Adicionei o ‘!’ á frente, indicando que a afirmativa deve ser falsa.
O haroflow também fez um comentário importante, está executando um equals entre um String e m Inteiro, não tem problema.
A questão é, aquela String terá um Inteiro nela em algum momento? :slight_smile:

Abraços.

VIRGO

bom dia,
em primeiro lugar obrigada por me tentarem ajudar
eu tenho um ficheiro txt com a descricao dos eventos, e preciso de uma funcao para pesquisar se um dado evento existe mesmo.

tentei com um int. mas nao medá nada certo :frowning:

nel

VIRGO:
bom dia,
em primeiro lugar obrigada por me tentarem ajudar
eu tenho um ficheiro txt com a descricao dos eventos, e preciso de uma funcao para pesquisar se um dado evento existe mesmo.

tentei com um int. mas nao medá nada certo :(

Bom, primeiramente, precisa executar a leitura do seu arquivo para extrair o conteúdo.
Como está divido o seu arquivo ? Consegue postar um exemplo pequeno do formato do conteúdo desse arquivo?
Assim fica mais claro como poderemos ajudar.

VIRGO

formato do arquivo txt é:

codigo; data; descricao
1; 30122011; reunião

nel

VIRGO:
formato do arquivo txt é:

codigo; data; descricao
1; 30122011; reunião

Entendo.

O que tu precisa fazer é ler o arquivo linha a linha, extrair a informação e separar ela em um array.
Supondo esse arquivo, a primeira linha deve ser ignorada, certo? Ou usou de exemplo?
Enfim, essa lógica é contigo, mas o que tu pode fazer é usar o método split() da String. Assim, você aplica esse método na sua linha lida e extrai as devidas informações, veja exemplo:

public static void main(String[] args) { String linha = "1; 30122011; reunião"; String[] array = linha.split(";"); for (String value : array) { System.out.println(value.trim()); } }

É só percorrer linha a linha e aplicar essa lógica. Enfim, é uma forma.
Abraços.

VIRGO

Muito obrigada, ajudou me mesmo muito =) nem imagina.
bjs

Criado 29 de dezembro de 2011
Ultima resposta 30 de dez. de 2011
Respostas 7
Participantes 3