Como faço para atribuir um valor numerico a uma string?

2 respostas
E

Estou desenvolvendo um programa em que ele sorteia duas cartas do baralho ( ás de espadas, 4 de copas, reis de paus, etc), e gostaria de saber se tem como atribuir por exemplo, o valor 1 ao As de ouro, o valor 2 ao As de espada, para que depois eu possa pedir ao programa para comparar duas cartas e dizer qual é a maior.

2 Respostas

V
Você poderia criar uma classe Carta e colocar um int(valor) lá.
public class Carta {
	private String nome;
	private int valor;
	
	public Carta(String nome, int valor){
		this.nome = nome;
		this.valor = valor;
	}
	public String getNome() {
		return nome;
	}
	public int getValor() {
		return valor;
	}
}

ou algo muito melhor, utilizar enum.

public enum TipoCarta {
	A("Às", 0),
	Dois("Dois", 1),
	//Outras cartas...
	K("Rei", 12);
	
	private String nome;
	private int valor;
	TipoCarta(String nome, int valor){
		this.nome = nome;
		this.valor = valor;
	}
	
	public String getNome(){
		return this.nome;
	}
	public int getValor(){
		return this.valor;
	}
}
Podendo também fazer o Naipe no enum
public enum NaipeCarta {
	Espadas, Paus, Copas, Ouro
}
E a classe Carta ficaria assim:
public class Carta {
	private TipoCarta carta;
	private NaipeCarta naipeCarta;
	
	public Carta(TipoCarta carta, NaipeCarta naipeCarta) {
		this.carta = carta;
		this.naipeCarta = naipeCarta;
	}
	
	//getters e setters
}
E

Caraca! Valeu amigo!
Infelizmente não me serviu de nada, pois ainda não sei quase nada…

Só conheço o public static void main(Strings [] args)
e os comandos como if else, else if, while, do…while, arrays, switch entre outras básicas…

Mas obrigado mesmo assim!

Criado 11 de abril de 2015
Ultima resposta 14 de abr. de 2015
Respostas 2
Participantes 2