question

Como comparar um char em uma Cadeia de caracteres em Java?

Estou fazendo um jogo da forca jogo e eu preciso para comparar um char para uma Cadeia de caracteres (ou alguma outra solução que permitiria a mensagem final para exibir.
Aqui está o meu código:

java.util. importação;
java.util.Scanner importação;


/ Criado por Charles de Samantha Shakiya. Este código vai jogar um jogo de muito (muito!) simple jogo da forca.
/
public class palpite
{
public static void main (String [] args) lança a exceção
{
Console de scanner = novo Scanner(System.in);
/ / Strings a palavra jogo para o jogo fixo.
String targetPhrase = "jogo";
String displayPhrase = "";
InputString Cadeia de caracteres;
Acho que Char;
posição do int = 0;

/ / Imprime a mensagem de boas vindas e exibe os asteriscos.
System.out.println ("bem-vindo ao jogo da forca!");
System.out.println(displayPhrase);
enquanto (displayPhrase.indexOf('')! = -1)
{
/ / Permite o uso de adivinhar uma carta.
System.out.println ("por favor, acho uma carta");
inputString = console.next();
adivinhar = inputString.charAt(0);
posição = targetPhrase.indexOf (palpite, posição + 1);
se (posição = = -1)
System.out.println ("Sorry - palpite novamente! CABEÇA");
else if (posição = = 0)
System.out.println ("Sorry - palpite novamente! PESCOÇO").

outra
displayPhrase = displayPhrase.substring(0,position) +
palpite +
displayPhrase.substring(position+1,displayPhrase.length());
System.out.println(displayPhrase);
{
{



/ / Exibe um ganho ou perda de mensagem.
se (palpite = = targetPhrase)
System.out.Print ("você ganhou! A palavra é "+ targetPhrase);
outra
System.out.Print ("você perdeu!");

System.Exit(0);
}
}
}
}
} Quando utilizo o bit. Equals, dá-me o erro que char não pode ser dereferenced. :/
resposta Resposta
Você não pode usar = = para comparação de Cadeia de caracteres. "= =" por meio de objetos não-primitivo "é exatamente o mesmo objeto".

Por exemplo, este código imprime "resultado = false": String s1 = novo String("foo"); String s2 = novo String("foo"); System.out.println ("resultado =" + (s1 = = s2));

... porque s1 e s2 são objetos diferentes, apesar de ter o mesmo conteúdo.

Você precisará usar. Equals () em vez disso, que compara os caracteres em duas seqüências de caracteres e é avaliada como "true" se eles tiverem o mesmo conteúdo: se (guess.equals (targetPhrase)) {

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta



Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved