Ir para conteúdo
  • 0

Pegar Valor Int


Ducky

Pergunta

Olá meus caros, minha dúvida é a seguinte:

 

Comando 1 /anunciar <valor>

Comando 2 /comprar <vendedor>

 

Quero saber como pegar esse valor do 1 para remover do comprador e adicionar no vendedor.

Estava pensando e tentei em ArryList, para adicionar o valor, mas com toda certeza não é um bom jeito..

 

Para ficar mais fácil, pense no plugin LsTradeVIP do Leonardo.. /vendervip <codigo> <valor> /comprarvip <nick> como ele resgata esse valor quando compra? :v

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

Não entendi nada mas, se for oque eu pensei:
 

// FORA DA CLSSE
private final static Map<String, Integer> a = new HashMap<>();

// DENTRO DO COMANDO
int i = 0;

if(!NumberUtils.isNumber(args[0])) {
  // não é número
}

i = Integer.parseInt(args[0]));
a.put(nomeDoJogador, i);



ou orientado a objeto

public class Venda {

  public final int id;
  public final String vendedor;
  public final String vip;
  public final double preco;
  public String comprador;

  public Venda(int id, String vendedor, String vip, double preco) {
    this.id = id == -1 ? ThreadLocalRandom.current().nextInt(10000) : id;
    this.vendedor = vendedor;
    this.vip = vip;
    this.preco = preco;
  }

}

@edit

Quando o cara vende o VIP ele salva no mysql, o VIP, jogador e valor.

Quando o outro vai comprar VIP ele põe o nick, esse nick vem do mysql e adiciona o valor do cara que vendeu pra ele e da o VIP do cara que vendeu pro comprador.

Editado por Pica-Pau
Link para o comentário
Compartilhar em outros sites

Acho eu que a melhor forma de se fazer seria criando um Objeto para cada venda anunciada e armazenar as informações lá, dê uma procurada no Google sobre o assunto: Programação Orientada a Objetos a apostila da Caelum é muito boa para se aprender.

Link para o comentário
Compartilhar em outros sites

Acho eu que a melhor forma de se fazer seria criando um Objeto para cada venda anunciada e armazenar as informações lá, dê uma procurada no Google sobre o assunto: Programação Orientada a Objetos a apostila da Caelum é muito boa para se aprender.

 

 

Não entendi nada mas, se for oque eu pensei:

 

// FORA DA CLSSE
private final static Map<String, Integer> a = new HashMap<>();

// DENTRO DO COMANDO
int i = 0;

if(!NumberUtils.isNumber(args[0])) {
  // não é número
}

i = Integer.parseInt(args[0]));
a.put(nomeDoJogador, i);



ou orientado a objeto

public class Venda {

  public final int id;
  public final String vendedor;
  public final String vip;
  public final double preco;
  public String comprador;

  public Venda(int id, String vendedor, String vip, double preco) {
    this.id = id == -1 ? ThreadLocalRandom.current().nextInt(10000) : id;
    this.vendedor = vendedor;
    this.vip = vip;
    this.preco = preco;
  }

}

@edit

Quando o cara vende o VIP ele salva no mysql, o VIP, jogador e valor.

Quando o outro vai comprar VIP ele põe o nick, esse nick vem do mysql e adiciona o valor do cara que vendeu pra ele e da o VIP do cara que vendeu pro comprador.

Será que é possível fazer com HashMap?!

 

/vendervip <valor>

Ai eu salvo o nick e o int..

Mas quando for da /comprarvip <nick> 

Como eu pegaria pelo HashMap se ele tem o valor que está lá? :v

Link para o comentário
Compartilhar em outros sites

Será que é possível fazer com HashMap?!

 

/vendervip <valor>

Ai eu salvo o nick e o int..

Mas quando for da /comprarvip <nick> 

Como eu pegaria pelo HashMap se ele tem o valor que está lá? :v

se tu respondesse no skype eu te ajudaria ;-;

Link para o comentário
Compartilhar em outros sites

Será que é possível fazer com HashMap?!

 

/vendervip <valor>

Ai eu salvo o nick e o int..

Mas quando for da /comprarvip <nick> 

Como eu pegaria pelo HashMap se ele tem o valor que está lá? :v

 

Você teria que slavar essa mapa em algum lugar né, arquivo, ou sqlite ou mysql sei lá

Link para o comentário
Compartilhar em outros sites

se tu respondesse no skype eu te ajudaria ;-;

Não vou entrar no skype até quarta ;- q

 

Você teria que slavar essa mapa em algum lugar né, arquivo, ou sqlite ou mysql sei lá

Salvar não é o problema, o problema é como pegar o INT depois, essa é minha dúvida

Link para o comentário
Compartilhar em outros sites

No caso, quando o cara digitar "/vender <valor>" adiciona ele, e o valor em uma hashmap, quando um jogador digitar /comprar <jogador>, verifica se o jogador está na hashmap, se ele tiver, pega o valor, subtrai do dinheiro do comprador e adiciona na conta do vendedor, retira o vip do vendedor e seta no comprador, estou ocupado se não tentaria fazer aqui pra ti


Link para o comentário
Compartilhar em outros sites

 

No caso, quando o cara digitar "/vender <valor>" adiciona ele, e o valor em uma hashmap, quando um jogador digitar /comprar <jogador>, verifica se o jogador está na hashmap, se ele tiver, pega o valor, subtrai do dinheiro do comprador e adiciona na conta do vendedor, retira o vip do vendedor e seta no comprador, estou ocupado se não tentaria fazer aqui pra ti

 

Eu sei fazer tudo isso.. Adicionar etc, mas quero saber como pegar o INT pelo HashMap..

Exemplo

if (cmd.getName().equalsIgnoreCase("vendervip")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 1) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 2) {
//AQUI ADICIONA NAS HASHMAP.. <Player, Int>
 
}
}
}
if (cmd.getName().equalsIgnoreCase("comprardesban")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 1) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 2) {
//AQUI VERIFICAR SE O vendedor ta na hashmap e a qntd do INT desse vendedor 
}
}

Para ficar mais fácil de entender o que eu quero fazer..

Editado por Burpo
Link para o comentário
Compartilhar em outros sites

Eu sei fazer tudo isso.. Adicionar etc, mas quero saber como pegar o INT pelo HashMap..

Exemplo

if (cmd.getName().equalsIgnoreCase("vendervip")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 1) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 2) {
//AQUI ADICIONA NAS HASHMAP.. <Player, Int>
 
}
}
}
if (cmd.getName().equalsIgnoreCase("comprardesban")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 1) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 2) {
//AQUI VERIFICAR SE O vendedor ta na hashmap e a qntd do INT desse vendedor 
}
}

Para ficar mais fácil de entender o que eu quero fazer..

ha

 

Eu sei fazer tudo isso.. Adicionar etc, mas quero saber como pegar o INT pelo HashMap..

Exemplo

if (cmd.getName().equalsIgnoreCase("vendervip")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 1) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 2) {
//AQUI ADICIONA NAS HASHMAP.. <Player, Int>
 
}
}
}
if (cmd.getName().equalsIgnoreCase("comprardesban")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 1) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 2) {
//AQUI VERIFICAR SE O vendedor ta na hashmap e a qntd do INT desse vendedor 
}
}

Para ficar mais fácil de entender o que eu quero fazer..

nomedahash.get(key) tipo 

 

Eu sei fazer tudo isso.. Adicionar etc, mas quero saber como pegar o INT pelo HashMap..

Exemplo

if (cmd.getName().equalsIgnoreCase("vendervip")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 1) {
p.sendMessage("/vendervip <codigo> <preco>");
return true;
}
if (args.length == 2) {
//AQUI ADICIONA NAS HASHMAP.. <Player, Int>
 
}
}
}
if (cmd.getName().equalsIgnoreCase("comprardesban")) {
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 1) {
p.sendMessage("/comprarvip <vendedor>");
return true;
}
if (args.length == 2) {
//AQUI VERIFICAR SE O vendedor ta na hashmap e a qntd do INT desse vendedor 
}
}

Para ficar mais fácil de entender o que eu quero fazer..

nomedahash.get(key)

tipo, hashmap.get(p.getName()); irá puxar o value da hashmap do nick do cara

Link para o comentário
Compartilhar em outros sites

Olá meus caros, minha dúvida é a seguinte:

 

Comando 1 /anunciar <valor>

Comando 2 /comprar <vendedor>

 

Quero saber como pegar esse valor do 1 para remover do comprador e adicionar no vendedor.

Estava pensando e tentei em ArryList, para adicionar o valor, mas com toda certeza não é um bom jeito..

 

Para ficar mais fácil, pense no plugin LsTradeVIP do Leonardo.. /vendervip <codigo> <valor> /comprarvip <nick> como ele resgata esse valor quando compra? :v

 

Ok, você tem a HashMap:

HashMap<String, Integer> map = ...

Para verificar se existe um elemento(no caso a String que é o nick dele) você faz isso:

map.containsKey(target.getName()){
//ele está na HashMap
}

E para pegar o valor respectivo ao target:

int value = map.get(target.getName()).intValue(); //retorna o valor do anuncio
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...