Ajuda com uma classe arma

1 resposta
M

[code]Ola pessoal, sou novato na area de programação e este é meu primeiro post, eu criei uma classe que representa uma arma, mas ainda tenho um pouco de dificuldade, eu gostaria que cada vez que ela atirasse ela me retornasse e escrevesse a qtde de
balas -1 segue minhas classes abaixo:

//classe arma
public class Arma {
public Integer marca;
public Integer modelo;
public Integer qtdebala =8;
public Boolean gatilho = true;
public Integer bala;

public int carregar(int qtdebala){
if(qtdebala<=1){
System.out.println("Arma precisa ser carregada");
System.out.println(qtdebala);
}
else{
System.out.println("Arma pronta para atirar");
System.out.println(this.qtdebala);

}

return this.qtdebala -1;
}
public void atirar(Boolean gatilho){
if(gatilho == true){
System.out.println("Voce atirou com exito");

}else{
System.out.println("Arma não pode atirar" +
" verifique se esta carregada ou se o gatilho esta acionado");

}
}
}

//classe teste arma

public class testearma {
public static void main(String[] args){
Arma arma = new Arma();
arma.carregar(8);
arma.atirar(true);

}
}

1 Resposta

andwolf

Olá marcoctba87

Se você quer apenas diminuir uma bala a cada tiro e mostrar a quantidade no final é assim:

//no seu metodo atirar
public void atirar(Boolean gatilho){ 
     if(gatilho == true){ 
          qtdebala--;       // diminui em 1 a quandidade de balas
          System.out.println("Voce atirou com exito, quantidade de balas restantes: "+ qtdebala); //mostra a qtdebalas
     
     }else{ 
          System.out.println("Arma não pode atirar" + 
                " verifique se esta carregada ou se o gatilho esta acionado"); 
} 
}

Recomendações

Deixe seus atributos privados;

if (gatilho==true) pode ser substituido por if(gatilho), quando você utiliza o if, ele sempre verifica uma condição, e o resultado desta condição sempre será true ou false, como gatilho é um Boolean, já basta ele sozinho

para mostrar
System.out.println("Voce atirou com exito, quantidade de balas restantes: "+ qtdebala); //mostra a qtdebalas

utiliza o simbolo + fora das aspas para concatenar a minha frase (String) como um atributo do tipo Integer, supondo que qtdebalas = 4, a resposta fica assim:

Voce atirou com exito, quantidade de balas restantes: 4

qualquer duvida estamos aqui

Criado 27 de setembro de 2010
Ultima resposta 27 de set. de 2010
Respostas 1
Participantes 2