Chamada de métodos

5 respostas
edymrex

Olá estou novamente com dúvidas sobre métodos peguei um exemplo do livro da deitel e estou fazendu tudo novamente na mão, mas de um erro na hora de chama o método de embaralhar as cartas vo colocar o código para ficar mais fácil o entedimento

Classe carta:

public class Carta 
{
	private String face;//face da carta
	private String naipe;//naipe da carta
	
	//Construtor de dois argumentos inicializa face e naipe da carta
	
	public Carta(String cartaFace,String cartaNaipe)
	{
		face=cartaFace;
		naipe=cartaNaipe;
		
	}
	
	public String toString()
	{
		return(face+" de "+ naipe);
	}

}

Classe PlataformaDeCartas:

import java.util.Random;
  

public class PlataformaDeCartas 
{
	private Carta plataforma[];
	private int atualCarta;
	private final int NUMERO_DE_CARTAS =52;
	private Random aleatoriosNumeros;
	
	public PlataformaDeCartas()
	{
		String face [] = {"Às","Coringa","três", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "valete", "rainha", "rei"};
		String naipe[]={"espadas(♠)", "paus(♣)", "copas(♥)" , "ouros(♦)"};
		int i;
		
		plataforma=new Carta[NUMERO_DE_CARTAS];//cria um array de objetos Card
		atualCarta=0;//configura atual carta 
		aleatoriosNumeros=new Random();
		
		for(i=0;i<plataforma.length;i++)
		{
			plataforma[i]=new Carta(face[i%13],naipe[i/13]);
		}
	}
	//**********************
	//método para embaralhar as cartas 
	
	public void baralhamento()
	{
		int i;
		atualCarta=0;//reinicializa atualCarta
		
		//para cada Carta,seleciona outra carta aleatória e compara
		for(i=0;i<plataforma.length;i++)
		{
			int segundo = aleatoriosNumeros.nextInt(NUMERO_DE_CARTAS);
			
			Carta temp =plataforma[i];
			plataforma[i]=plataforma[segundo];
			plataforma[segundo]=temp;
		}
	}
	//********************
	
	public Carta distribui()
	{
		if(atualCarta<plataforma.length)
		{
			return plataforma[atualCarta++];
		}
		else
			return null;
	}
	

}

Classe PlataformaDeCartasNaim:

public class PlataformaDeCartasNaim 
{

 
	public static void main(String[] args) 
	{
		PlataformaDeCartas chama = new PlataformaDeCartas();
		chama.baralhamento();//aki está o erro
		
		//imprime todas as 52 cartas na ordem que são distribuídas
		
		for(int i=0;i<13;i++)
		{
			System.out.println(chama.distribui()+"    "+chama.distribui());
		}

	}

}

Porque quando vo chamar os métodos da classe PlataformaDeCartas sempre da erro??
a messagem é a seguinte

The method baralhamento() is undefined for the type PlataformaDeCartas

5 Respostas

A

Cara, veja se a classe PlataformaDeCartas está compilando corretamente, principalmente por causa desses caracteres especiais, que representam os naipes… procure tirá-los e compilar novamente, por exemplo.

Abraço,

Armando

furutani

Voce compilou todos as Classes antes de chama-las?
Se sim, experimente apagar os .class e compilar de novo

edymrex

valew galera realmente era os caracteres especiais…!

G

Cara, não vi nada de errado nas suas classes. Peguei suas classes rodei aqui e não deu nenhum problema. Elas estão no mesmo pacote???

edymrex

já descobri o erro cara era esse caracteres especiais que eu coloquei tirei eles e deu todo certo…! mas valew pela sua ajuda…!

Criado 15 de janeiro de 2007
Ultima resposta 15 de jan. de 2007
Respostas 5
Participantes 4