Ir para o conteúdo
Johny86

problema entre Strings e arrays

Mensagens Recomendadas

Johny86    0
Johny86

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?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

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!");
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter
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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Johny86    0
Johny86

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)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Johny86    0
Johny86
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
keim    0
keim

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")
    }
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
keim    0
keim

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")
    }
}

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade