Not a statement

5 respostas
L

Olá pessoal, estou com um probleminha nesse código

import java.util.*;
import javax.swing.*;

public class JogoVelha {
  public static void main(String[] args) { 
    System.out.println("***Jogo da Velha***");
   
    String a = JOptionPane.showInputDialog("Entre com o nome do jogador1: ");
    String b = JOptionPane.showInputDialog("Entre com o nome do jogador2: ");
    String jogador1 = a;
    String jogador2 = b;
    
    System.out.println("Jogador 1: " + a);
    System.out.println("Jogador 2: " + b);
       Tabuleiro.imprimir();
         Jogo.jogar();

class Tabuleiro {
String p1, p2, p3, p4, p5, p6, p7, p8, p9;
void imprimir() {
   System.out.println(p1 + p2 + p3);
   System.out.println(p4 + p5 + p6);
   System.out.println(p7 + p8 + p9); 
     }
   }
 
class Jogo {
Tabuleiro T = new Tabuleiro();
 void jogar() { 
 String p = JOptionPane.showInputDialog("Qual a sua posição? "); 
int x = Integer.parseInt(p);
switch (x) {
     case 1:
         T.p1 = "x";
         break;   
       case 2 :   
         T.p2 = "x";   
         break;   
      case 3 :   
         T.p3 = "x";   
         break;   
      case 4 :   
         T.p4 = "x";   
         break;   
      case 5 :   
         T.p5 = "x";   
         break;   
      case 6 :   
         T.p6 = "x";   
         break;   
      case 7 :   
         T.p7 = "x";   
         break;   
      case 8 :   
         T.p8 = "x";   
         break;   
      case 9 :   
         T.p9 = "x";   
         break;   
              }  
          }
  }

class Jogador {
 String nome;
 String simb;
 Jogo j;
      } 
   }
}

Quando vou compilar aparece
:16: erro: cannot find symbol
Jogo.jogar();
^
symbol: method jogar()
location: class jogo

não sei o que fazer, me ajudem

5 Respostas

natanaelv

Para invocar o método jogo da forma que você está fazendo ele precisa ser static,
o que fará com que o mesmo se torne um método de classe.

Por exemplo, na declaração do método você faz:

public static void jogar(){}
Dark_Stalker

Cara, vc criou o objeto do jogo?? Sempre é importante criar o objeto da classe em questao, pois do contrario nao é possivel acessar o metodo, a menos que o mesmo seja estatico. Experimente criar o objeto, pra ver se funciona, boa sorte.

L

Obrigado pela resposta, mas eu não entendi porque
o método .imprimir(); na linha 15 compilou normal…

DaniloAndrade

ta faltando fecha as chaves do metodo main

mi.rodrigues

Coloque as classes fora da classe JogoVelha, depois para usá-las crie um objeto. Vê se compila…

Criado 20 de março de 2013
Ultima resposta 20 de mar. de 2013
Respostas 5
Participantes 5