Tem como pegar tipo uma parte do array

3 respostas
Ezequiel_Dill_Duarte

gente eu estou fazendo um jogo de cartas
eu preciso pegar só o valor ou só o naipe mas os dois estão juntos na mesma posição eu queria saber se tem como dividir um posição de um vetor

3 Respostas

Ezequiel_Dill_Duarte

tipo pegar só o texto ou pegar só o numero
Exemplo; mao[1]=“6 de copas”;
tem como eu pegar só o 6 ou só o "de copas "?

P

Ezequiel,

Fiz dessa forma, vê se te atende!

String cartas[] = new String[1];
         cartas[0] = "6 de copas";
         
         for(int i = 0; i < cartas.length; i++) {            	  
              String numero = cartas[i].substring(0, 1);
              System.out.println("Numero: " + numero);
              String tipo = cartas[i].substring(2, cartas[i].length());
              System.out.println("Tipo: " + tipo); 	 
         }
wldomiciano

Vc não especificou a linguagem de programação que está usando, mas minha resposta vai ser baseada em Java.

Então vc sempre vai ter cartas com o mesmo padrão, né?

  • 6 de Copas
  • Rei de Espadas
  • Ás de Ouros

Se for sempre respeitando esse formato, vc poderia usar o split(). Ficaria assim:

public class Programa {
    public static void main(String[] args) {
        String[] mao = { "6 de Copas", "Rei de Espadas", "Ás de Ouros" };

        for (String carta: mao) { // percorre a mão
            String[] descricao = carta.split(" de "); // separa os dados da carta
            System.out.printf("Valor: %s\n", descricao[0]);
            System.out.printf("Naipe: %s\n\n", descricao[1]);
        }
    }
}

E se estiver mesmo usando Java ou alguma outra com suporte a orientação a objetos, vc poderia criar uma classe pra representar suas cartas. Seria mais ou menos assim:

class Carta {
    private String naipe;
    private String valor;

    Carta(String naipe, String valor) {
        this.naipe = naipe;
        this.valor = valor;
    }

    public String getNaipe() { return naipe; }
    public String getValor() { return valor; }
}
Criado 16 de novembro de 2017
Ultima resposta 16 de nov. de 2017
Respostas 3
Participantes 3