Ajuda usando String como condição de loop

2 respostas
R

Velho oq eu quero fazer eh 1 jogo da velha basico, to no segundo periodo da facu, e no primeiro vi uma modulo basico de portugol em programção, e fiz 1 jogo da velha, to estudando java aqui por fora, com 1 livro da Deitel q comprei de um amigo. Dai pra testar se a pessoa ja ganhou , eu uso essa ideia, testo as diagonais, coluna, linha so q aparentemente o java n realiza o teste dessa condição q coloquei ai em baixo. Oq eu quero eh q no caso no jogo da velha ele verifique se uma coluna linha, ou diagonal esteja preenchida com “x” ou “0”.

import java.util.Scanner;

public class teste3 {

public static void main(String args[])

{

Scanner a = new Scanner(System.in);

String x = "  ";

x = a.nextLine();

if (x == sim)

System.out.print(lol);

}

}

2 Respostas

ViniGodoy

Compara-se string usando o método equals, não o ==:

public class teste3 {
   public static void main(String args[]) {
      Scanner a = new Scanner(System.in);
      String x = a.nextLine();
      if (x.equals("sim"))
         System.out.print("lol");
   }
}

O == comparam se os objetos são os mesmos. Duas string podem ter o mesmo valor, mas serem objetos diferentes. Veja:

String a = new String("sim");
String b = new String("sim");
String c = a; //C aponta para o mesmo objeto que a.

System.out.println(a == b); //Imprime false. A não é o mesmo objeto que b
System.out.println(a.equals(b)); //Imprime true. A tem o mesmo valor que b
System.out.println(a == c); //Imprime true. A é o mesmo objeto que c

E, quando for postar códigos, use a tag code. Assim ele fica colorido como os meus ficaram acima. Veja aqui como:
http://www.guj.com.br/posts/list/50115.java

R

Ei vlw kra ^^ isso msm, procurei e procurei no livro e n achava, na proximo pod deixar q ja uso os codigos BB

Criado 12 de agosto de 2010
Ultima resposta 12 de ago. de 2010
Respostas 2
Participantes 2