After some time getting WA I give up and come here to get some help XD
I really dont know what I'm doing wrong now =/
import java.util.Scanner;
public class Main{
public String checaJogo(String[] jogo){
String retorno="no";
String[][] jogoGrid = new String[3][3];
int qtX=0, qtO=0, qtDot=0;
for(int x = 0; x < 3; x++){
for(int y = 0; y < 3; y++){
jogoGrid[x][y] = String.valueOf(jogo[x].charAt(y));
switch(jogo[x].charAt(y)){
case 'X': qtX++; break;
case 'O': qtO++; break;
case '.': qtDot++; break;
}
}
}
if (qtO <= qtX){
if ((qtX - qtO) < 2){
if((qtO + qtX + qtDot) == 9){
int[] vitoria = checarVitoria(jogoGrid);
//If X and O wins its not valid, X can win two times
/* XOX
OXO
XOX
*/
if((vitoria[0] > -1 && vitoria[1] == 0) || (vitoria[0] == 0 && vitoria[1] > -1)){
retorno = "yes";
}
}
}
}
return retorno;
}
public int pegaJogador(String jogador){
return (jogador.equalsIgnoreCase("X")) ? 0 : 1;
}
//Check if someone win
public int[] checarVitoria(String[][] jogo){
int[] vitoria= new int[2];
vitoria[0] = 0;
vitoria[1] = 0;
String jogador="";
if(!jogo[0][0].equals(".")){
jogador=jogo[0][0];
if(jogador.equals(jogo[0][1])){
if(jogador.equals(jogo[0][2])){
vitoria[pegaJogador(jogador)]++;
}
}
if(jogador.equals(jogo[1][1])){
if(jogador.equals(jogo[2][2])){
vitoria[pegaJogador(jogador)]++;
}
}
if(jogador.equals(jogo[1][0])){
if(jogador.equals(jogo[2][0])){
vitoria[pegaJogador(jogador)]++;
}
}
}
if(!jogo[1][0].equals(".")){
jogador = jogo[1][0];
if(jogador.equals(jogo[1][1])){
if(jogador.equals(jogo[1][2])){
vitoria[pegaJogador(jogador)]++;
}
}
}
if(!jogo[2][0].equals(".")){
jogador = jogo[2][0];
if(jogador.equals(jogo[2][1])){
if(jogador.equals(jogo[2][2])){
vitoria[pegaJogador(jogador)]++;
}
}
if(jogador.equals(jogo[1][1])){
if(jogador.equals(jogo[0][2])){
vitoria[pegaJogador(jogador)]++;
}
}
}
if(!jogo[0][1].equals(".")){
jogador = jogo[0][1];
if(jogador.equals(jogo[1][1])){
if(jogador.equals(jogo[2][1])){
vitoria[pegaJogador(jogador)]++;
}
}
}
if(!jogo[0][2].equals(".")){
jogador = jogo[0][2];
if(jogador.equals(jogo[1][2])){
if(jogador.equals(jogo[2][2])){
vitoria[pegaJogador(jogador)]++;
}
}
}
return vitoria;
}
public static void main(String[] args){
int inputs = 0;
String resultado="";
String[] out;
Main m = new Main();
String[] jogo = new String[3];
Scanner teclado = new Scanner(System.in);
inputs = teclado.nextInt();
while(inputs-- > 0){
for(int x = 0; x < 3; x++){
jogo[x] = teclado.next().toUpperCase();
}
System.out.println();
resultado += m.checaJogo(jogo)+"-";
// System.out.println(m.checaJogo(jogo));
}
out = resultado.split("-");
for(int x = 0; x < out.length; x++){
System.out.println(out[x]);
}
}
}