Pessoal ! fiz um exercício e no netbeans não acusa nenhum erro até a compilação, e deu o seguinte erro:
Exceção no thread “main” java.lang.NullPointerException
At aula07.Luta.marcarLuta (Luta.java:11)
At aula07.Aula07.main (Aula07.java:19)
C: \ Users \ Professor \ AppData \ Local \ NetBeans \ Cache \ 8.2 \ executor-snippets \ run.xml: 53: Java retornado: 1
FALHA NA CONSTRUÇÃO (tempo total: 3 segundos)
Vou pôr o código q fiz:
package aula07;
public class Aula07 {
/**
*
* @param args
*/
public static void main(String[] args) {
Lutador l[] = new Lutador[6];
l[0] = new Lutador("Jacaré", "Brasil", 31, 1.75, 55.5, 14, 2, 3);
l[1] = new Lutador("Eliabe", "Brasil", 21, 1.80, 65.3, 20, 0, 1);
l[2] = new Lutador("Mutante", "Brasil", 32, 1.70, 99.8, 14, 3, 1);
l[3] = new Lutador("Minotauro", "Brasil", 21, 1.80, 100.5, 12, 5, 2);
l[4] = new Lutador("Vitor Belfort", "Brasil", 21, 1.80, 70.5, 16, 1, 0);
l[5] = new Lutador("José Aldo", "Brasil", 21, 1.80, 70.5, 17, 1, 2);
Luta UEC01 = new Luta();
UEC01.marcarLuta(l[0], l[1]);
UEC01.lutar();
l[0].status();
l[1].status();
}
}
package aula07;
public class Lutador {
private String nome;
private String nacionalidade;
private int idade;
private double altura;
private double peso;
private String categoria;
private int vitorias;
private int derrotas;
private int empates;
public Lutador(java.lang.String no,java.lang.String na,int id,double al,double pe,int vi,
int de, int em){
this.nome = no;
this.nacionalidade = na;
this.idade = id;
this.altura = al;
this.peso = pe;
this.vitorias = vi;
this.derrotas = de;
this.empates = em;
}
public String getNome(){
return nome;
}
public void setNome(String no){
this.nome = no;
}
public String getNacionalidade(){
return nacionalidade;
}
public void setNacionalidade(String na){
this.nacionalidade = na;
}
public int getIdade(){
return idade;
}
public void setIdade(int id){
this.idade = id;
}
public double getAltura(){
return altura;
}
public void setAltura(double al){
this.altura = al;
}
public double getPeso(){
return peso;
}
public void setPeso(double pe){
this.peso = pe;
this.setCategoria();
}
public int getVitorias(){
return vitorias;
}
public void setVitorias(int vi){
this.vitorias = vi;
}
public int getDerrotas(){
return derrotas;
}
public void setDerrotas(int de){
this.derrotas = de;
}
public int getEmpates(){
return empates;
}
public void setEmpates(int em){
this.empates= em;
}
public String getCategoria(){
return categoria;
}
public void setCategoria(){
if(this.peso<52.2){
this.categoria = "Inválido";
}else if(this.peso<=70.3){
this.categoria = "Leve";
}else if(this.peso<=83.9){
this.categoria = "Médio";
}else if(this.peso<=120.2){
this.categoria = "Pesado";
}else{
this.categoria = "Inválido";
}
}
public void ganharLuta(){
this.setVitorias(getVitorias()+1);
}
public void perderLuta(){
this.setDerrotas(getDerrotas()+1);
}
public void empatarLuta(){
this.setEmpates(getEmpates()+1);
}
public void apresentar(){
System.out.println("----------Apresentação-----------");
System.out.println("Lutador: " + this.getNome());
System.out.println("Origem: " + this.getNacionalidade());
System.out.println(this.getIdade() + " anos");
System.out.println(this.getAltura() + "m de altura");
System.out.println("Pesando: " + this.getPeso() + "kg");
System.out.println("Vitórias: " + this.getVitorias());
System.out.println("Derrotas: " + this.getDerrotas());
System.out.println("Empates: " + this.getEmpates());
}
public void status(){
System.out.println("-------Status--------");
System.out.println("Nome: " + this.getNome());
System.out.println("É um peso: " + this.getCategoria());
System.out.println("Vitórias: " + this.getVitorias());
System.out.println("Derrotas: " + this.getDerrotas());
System.out.println("Empates: " + this.getEmpates());
}
}
package aula07;
import java.util.Random;
public class Luta {
private Lutador desafiado;
private Lutador desafiante;
private int rounds;
private boolean aprovada;
public void marcarLuta(Lutador l1, Lutador l2){
if(l1.getCategoria().equals(l2.getCategoria())&& l1 != l2){
this.aprovada = true;
this.desafiado = l1;
this.desafiante = l2;
}else{
this.aprovada = false;
this.desafiado = null;
this.desafiante = null;
}
}
public void lutar(){
if(this.aprovada){
System.out.println("### Desafiado ###");
this.desafiado.apresentar();
System.out.println("### Desafiante ###");
this.desafiante.apresentar();
Random aleatorio = new Random();
int vencedor = aleatorio.nextInt(3);
switch(vencedor){
case 0:
System.out.println("Empatou");
this.desafiado.empatarLuta();
this.desafiante.empatarLuta();
break;
case 1:
System.out.println("O vencedor é: " + this.desafiado.getNome());
this.desafiado.ganharLuta();
this.desafiante.perderLuta();
break;
case 2:
System.out.println("O vencedor é: " + this.desafiante.getNome());
this.desafiado.perderLuta();
this.desafiante.ganharLuta();
break;
}
}else{
System.out.println("Não pode haver luta!");
}
}
public Lutador getDesafiado() {
return desafiado;
}
public void setDesafiado(Lutador desafiado) {
this.desafiado = desafiado;
}
public Lutador getDesafiante() {
return desafiante;
}
public void setDesafiante(Lutador desafiante) {
this.desafiante = desafiante;
}
public int getRounds() {
return rounds;
}
public void setRounds(int rounds) {
this.rounds = rounds;
}
public boolean isAprovada() {
return aprovada;
}
public void setAprovada(boolean aprovada) {
this.aprovada = aprovada;
}
}