• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Johny86

problema entre Strings e arrays

11 mensagens neste tópico

boas

tenho uma string onde colocado char la dentro, neste caso é qdo acertamos uma letra.

essa letra é lida pela variavel letra

a String chama-se letrasCertas (static String letrasCertas ="":D

eu queria uma condiçao que era se a letra ja conter dentro da string ele vai deixar uma messagem.

inicialmente tinha isto:

if (letra ==letrasCertas)

System.out.println("Letas ja existe");
letrasCertas-=letra (a mesma coisa que letrasCertas=letrasCertas-letra)

sei que precisa de uma classe na condiçao letrasCertas mas n sei qual é.

o meu raciocino ta certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer um ciclo a percorrer todas as letras da String e testar uma por uma se é igual ou não.

if(str.charAt(0) == 'letra') {
System.out.println("A letra encontra-se na string!");
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

if(letra ==letrasCertas)

Tens noção que esta linha apenas compara duas referências? Sei que não era bem a tua dúvida mas pelo que colocaste parece que anda aí alguma confusão :confused:

Já agora,

letrasCertas-=letra
, é código ou apenas comentário?

Podes também usar o método "contains",

if(letrasCertas.contains(letra))
   System.out.println("Letra na string!");

Peace.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

letrasCertas-=letra

esta parte era codigo

obrigado.

basicamente era isso k andava a tentar fazer mas n sabia como.

cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
letrasCertas-=letra

E isso funciona? Se declaraste as variáveis como Strings isso não vai funcionar, esse operador não pode ser aplicado a Strings... ints, floats, double, etc., mas Strings não.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

if (letrasCertas.contains(letra))
{
System.out.println("Letra ja usada");
}

isto aparece um erro

The method contains(CharSequence) in the type String is not applicable for the arguments (char)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso quer dizer que letra é um char e não uma string, não podes comparar usando esse método, a não ser que convertas o char para String primeiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
letrasCertas-=letra

E isso funciona? Se declaraste as variáveis como Strings isso não vai funcionar, esse operador não pode ser aplicado a Strings... ints, floats, double, etc., mas Strings não.

basicamente queria retirar a letra dentro da string com essa linha mas ja reparei n da erro, tal como disseste o - n e aplicavel a strings

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

if (letrasCertas.contains(letra))
{
System.out.println("Letra ja usada");
}

isto aparece um erro

The method contains(CharSequence) in the type String is not applicable for the arguments (char)

for(int i=0;i<letrascertas.lenght();i++){
    if(letrascertas.charAt(i)==letra)
    {
         System.out.println("Letra ja usada")
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu aconselhava-t a fazeres como ja referiram, um ciclo para comparar posição a posição a string com a letra a comparar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não te esqueças e que o char 'a' é diferente do char 'A';

for(int i=0;i<letrascertas.lenght();i++)
{ 
   if(letrascertas.toLowerCase().charAt(i)==letra)
    { 
        System.out.println("Letra ja usada")
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora