Conversão tipo por referencia

6 respostas
jona04

Aew galera estou com uma duvida

Tem como eu converter um objeto/variavel de tipo por referencia em uma variavel do tipo int?

6 Respostas

henriqueluz

Qual tipo de variavel e o que voce quer fazer exatamente?

jona04

Estou querendo atribuir elementor de uma array de tipo por referencia em uma variavel do tipo inteiro

nel

What? :shock:
Joga o código ai champz :wink:

jona04

Bem, se trata de um pequeno aplicativo que simula um jogo de cartas.

Esse codigo embaralha todas as cartas do baralho.

public Carta distribuiCarta()
	{
		//dewtermina se ainda ha carta a serem distribuidas
		if (proximaCarta < baralho.length)
			return baralho[proximaCarta++]; //retorna carta atual no array
		else 
			return null; //retorna nulo para indicar que todos as cartas foram distribuidas
Esse codigo pega pega as cartas uma a uma na ordem em que foram embaralhadas
public Carta pegaCarta()
	{
		if (umaCarta <= 52)
			return baralho[umaCarta++]; //retorna carta atual no array
		else 
			return null; //retorna nulo para indicar que todos as cartas foram distribuidas	
	}//fim metodo distribuicarta

E esse ultimo é a parte principal do aplicativo. E é nele onde esta minha duvida, depois da chamada do metodo pegaCarta() , gostaria de atribuir o resultado da chamada a uma variavel do tipo int myPonto, como si fosse uma contagem de pontos apartir do numero da carta. Tipo: se sair a carta Az de Copas, o variavel myPonto receberia o numero 1.

public void play()
	{
		int sentinela; //variavel de repetição
		Carta myCarta;
		Status gameStatus;
		
		System.out.printf("\n %s\n %s\n %s  ", 
			" Escolha a Opcao: ", 
			" 1 - Pegar Carta ",
			" 2 - Parar");
		sentinela = input.nextInt();
			
			while (sentinela == 1)
			{
				System.out.printf("\n %d", pegaCarta());
					myPonto = pegaCarta();
					
				System.out.printf("\n\n %s\n %s\n %s  ", 
					" Escolha a Opcao: ", 
					" 1 - Pegar Carta ",
					" 2 - Parar");
				sentinela = input.nextInt();
				
				if (sentinela == 2)
				{	
					System.out.printf("\n Seus pontos totais foram de: %d", myPonto); 
				}//fim if	
			}//fim while
	}//fim metodo play
jona04

ninguém?

nel

Oi!

Você chama o método pegaCarta() e ele re terona um objeto Carta e não um inteiro.
Dentro desse objeto carta você tem der algum tipo de referência, se é Az, Rainha, Valete e assim por diante, para atribuir um número.

Dada essa referência, você captura o valor da carta e atribui ao myPonto, como quer.

Criado 8 de agosto de 2011
Ultima resposta 9 de ago. de 2011
Respostas 6
Participantes 3