olá sou novo em java e estou com uns problemas na minha classe main ele retorna esse problema, se alguém conseguir me ajudar eu agradeço.
java.lang.NullPointerException
public class TesteAeronave {
static Teclado t = new Teclado();
public static void main (String args[]){
CadastroF[] e = new CadastroF[2];
CadastroFabri[] b = new CadastroFabri[2];
int y;
do {
System.out.println("Digite 1 para incluir uma nova Aeronave\n" +
" Digite 2 para incluir um novo Fabricante \n" +
" Digite 3 para apagar uma aeronave \n" +
" Digite 4 para Mostar todas as aeronaves \n" +
" Digite 5 para apagar um fabricante \n" +
" Digite o numero 7 para sair\n");
try {
y = t.leInt();
} catch (NumberFormatException ex) {
System.out.println("Entrada inválida");
y = 7;
}
switch (y) {
case 7:
System.out.println("Finalizando");
continue;
case 1:
Fabricante f1[] = new Fabricante[1];
f1[0] = new Fabricante (0, 515610, "agsdfads", "dsadasdas");
f1[0].exibeDados2();
for(int i=0; i<f1.length;i++){
f1[i].toString();
}
int qtdeAeronaves = t.leInt("Qtas Aeronaves ?");
e = new CadastroF[qtdeAeronaves];
for(int i=0;i<qtdeAeronaves;i++)
{
e[i].registraAeroNaFrota(new Aeronave (52, t.leInt("Informe o Codigo do fabricante"), t.leString("Nome da Aeronave"), t.leString("Nome da Matricula") ));
}
break;
case 2:
int qtdeFabricantes = t.leInt("Qtos fabricantes ?");
b = new CadastroFabri[qtdeFabricantes];
for(int i=0;i<qtdeFabricantes;i++)
{
b[i].registraFabriEmMassa(new Fabricante (0, t.leInt("Informe o Codigo do fabricante"), t.leString("Nome do Fabricante"), t.leString("Nome do país do fabricante") ));
}
break;
case 3:
int chaveID = t.leInt("qual o iD ?");
for(int i=0;i<e.length;i++)
e[i].removerAeronave(chaveID);
break;
case 4:
// Aeronave[] e1 = e.getFrota();
// for(int i=0;i<e1.length;i++)
// {
// int w = e1[i].getCodInterFabri();
// if(e1[i]!=null)
// System.out.println(e1[i].toString());
// for(int l=0;l<b.length;l++)
// if(b[l].getCodInterFabri == w) {
// System.out.println(b[l].toString());
// }
// System.out.println(e1[i].toString());
// }
break;
case 5:
int chaveID2 = t.leInt("qual o iD ?");
for(int i=0;i<e.length;i++) {
b[i].removerFabricante(chaveID2);
e[i].removerAeronave(chaveID2);
}
break;
default:
System.out.println("Digite um valor entre 1 e 6 \n ou digite 7 para terminar!");
break;
}
} while (y != 7);
}
import java.util.Random;
public class Aeronave {
Random random = new Random();
private int chaveId;
private int codInterFabri;
private String nomeAero, matriAero;
public Aeronave(int chaveId, int codInterFabri, String nomeAero, String matriAero) {
super();
this.chaveId = getChaveId();
this.codInterFabri = codInterFabri;
this.nomeAero = nomeAero;
this.matriAero = matriAero;
}
public int getChaveId() {
return chaveId;
}
public int getCodInterFabri() {
return codInterFabri;
}
public void setCodInterFabri(int codInterFabri) {
this.codInterFabri = codInterFabri;
}
public String getNomeAero() {
return nomeAero;
}
public void setNomeAero(String nomeAero) {
this.nomeAero = nomeAero;
}
public String getMatriAero() {
return matriAero;
}
public void setMatriAero(String matriAero) {
this.matriAero = matriAero;
}
public void setChaveId(int chaveId) {
this.chaveId = random. nextInt(10000);
}
@Override
public String toString() {
return "Nome da Aeronave:" + nomeAero + "Nome da Matricula" + matriAero + "Chave de identificação" + chaveId + "codigo do Fabricante" + codInterFabri ;
}
public void geraChaveId(int a) {
a = random. nextInt(10000);
}
}
import java.util.Random;
public class Fabricante {
Random random = new Random();
private int chaveId;
private int codInterFabri;
private String nomeFabri, paisFabri;
public Fabricante(int chaveId, int codInterFabri, String nomeFabri, String paisFabri) {
super();
this.setChaveId(chaveId);
this.setCodInterFabri(codInterFabri);
this.setNomeFabri(nomeFabri);
this.setPaisFabri(paisFabri);
}
public int getChaveId() {
return chaveId;
}
public void setChaveId(int chaveId) {
this.chaveId = random. nextInt(10000);
}
public String getNomeFabri() {
return nomeFabri;
}
public void setNomeFabri(String nomeFabri) {
this.nomeFabri = nomeFabri;
}
public int getCodInterFabri() {
return codInterFabri;
}
public void setCodInterFabri(int codInterFabri) {
this.codInterFabri = codInterFabri;
}
public String getPaisFabri() {
return paisFabri;
}
public void setPaisFabri(String paisFabri) {
this.paisFabri = paisFabri;
}
@Override
public String toString() {
return "Nome do Fabricante:" + nomeFabri + "País do fabricante" + paisFabri + "Chave de identificação" + chaveId + "codigo do Fabricante" + codInterFabri ;
}
public void exibeDados() {
System.out.println(nomeFabri);
System.out.println(codInterFabri);
System.out.println(paisFabri);
System.out.println(chaveId);
}
public void exibeDados2() {
System.out.println(nomeFabri);
System.out.println(codInterFabri);
System.out.println(paisFabri);
}
}
public class CadastroF {
private Aeronave[] frota;
private int qtdeAeronaves;
public CadastroF (int tamanhoFrota){
frota = new Aeronave[tamanhoFrota];
}
public void registraAeroNaFrota(Aeronave a)
{
if(qtdeAeronaves<frota.length)
frota[qtdeAeronaves++] = a;
else
System.out.println("Sinto muito mas nao tem mais espaco no array");
}
public Aeronave[] getFrota()
{
return frota;
}
public void removerAeronave(int chaveID) {
for (int i = 0; i < frota.length; i++) {
Aeronave aeronave = frota[i];
if (aeronave.getCodInterFabri() == chaveID) {
frota[i] = null;
System.out.println("Aeronave Removido Com Sucesso");
return;
} else {
}
}
System.out.println("Nao encontrado");
}
}
public class CadastroFabri {
private Fabricante[] fabricantes;
private int qtdeFabricantes;
public CadastroFabri (int tamanhoFabri){
fabricantes = new Fabricante[tamanhoFabri];
}
public void registraFabriEmMassa(Fabricante m)
{
if(qtdeFabricantes<fabricantes.length)
fabricantes[qtdeFabricantes++] = m;
else
System.out.println("Sinto muito mas nao tem mais espaco no array");
}
public Fabricante[] getFabricante()
{
return fabricantes;
}
public void removerFabricante(int chaveID) {
for (int i = 0; i < fabricantes.length; i++) {
Fabricante fabricante = fabricantes[i];
if (fabricante.getCodInterFabri() == chaveID) {
fabricantes[i] = null;
System.out.println("Aeronave Removido Com Sucesso");
return;
}
System.out.println("Nao encontrado");
}
}
}
