Sou novo aqui então desde já peço desculpas qualquer coisa.
Situação:
Meu professor passou um trabalho onde crio um programa para criar 3 eventos esportivos. o programa deve conter 3 classes(Evento[armazena], PanArray[gerencia], InterEvento[recebe informações do user]). Meu proble, no momento, é so este: preciso exibir as informações de um dos 3 eventos(o que o usuario escolher), mas ao criar os 3 eventos, ou digitar um codigo que não existe, acaba dando um erro. Gostaria de saber como resolver.
Programa:
package EventoPack;
public class Evento {
private static int cod = 0;
private String titulo;
private String local;
private String data;
private String hora;
private int status;
private int quantLugares, lugaresVend;
private double valIngresso;
private static final double VALOR_DEFAULT_INGRESSO = 100;
private static final int CAPACIDADE_DEFAULT = 3000;
private int loc;
// Metodo construtor
public Evento(String titulo, String local, String data, String hora, int status, int quantLugares, int lugaresVend,
double valIngresso, int loc) {
cod++;
this.titulo = titulo;
this.local = local;
this.data = data;
this.hora = hora;
this.status = status;
this.quantLugares = quantLugares;
this.lugaresVend = lugaresVend;
this.valIngresso = valIngresso;
this.loc = loc;
}
public Evento(String titulo, String local, String data, String hora, int status, int lugaresVend, int loc) {
cod++;
this.titulo = titulo;
this.local = local;
this.data = data;
this.hora = hora;
this.status = status;
this.quantLugares = CAPACIDADE_DEFAULT;
this.lugaresVend = lugaresVend;
this.valIngresso = VALOR_DEFAULT_INGRESSO;
this.loc = loc;
}
// Metodo construtor default(padrão)
public Evento() {
cod++;
this.titulo = null;
this.local = null;
this.data = null;
this.hora = null;
this.status = 0;
this.quantLugares = 0;
this.lugaresVend = 0;
this.valIngresso = 0;
this.loc = 0;
}
// Metodos get e set
public int getLoc() {
return loc;
}
public int getCodigo() {
return cod;
}
public void setCodigo(int codigo) {
cod = codigo;
}
public String getTitulo() {
return this.titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getLocal() {
return this.local;
}
public void setLocal(String local) {
this.local = local;
}
public String getData() {
return this.data;
}
public void setData(String data) {
this.data = data;
}
public String getHora() {
return this.hora;
}
public void setHora(String hora) {
this.hora = hora;
}
public int getStatus() {
return this.status;
}
public void setStatus(int status) {
this.status = status;
}
// Metodos que modificam os status do evento
public void iniciarVendas() {
this.status = 1;
}
public void encerrarVendas() {
this.status = 2;
}
public void cancelarEvent() {
this.status = 3;
}
public void marcOcorrido() {
this.status = 4;
}
public int getQuantLugares() {
return this.quantLugares;
}
public void setQuantLugares(int quantLugares) {
this.quantLugares = quantLugares;
}
public int getLugaresVend() {
return this.lugaresVend;
}
public void setLugaresVend(int lugaresVend) {
this.lugaresVend = lugaresVend;
}
public double getValIngresso() {
return this.valIngresso;
}
public void setValIngresso(double valIngresso) {
this.valIngresso = valIngresso;
}
// Metodo para a venda de ingressos
public void vendas(int vendidos) {
if ((this.quantLugares - vendidos) < 0) {
System.out.println("Não temos essa quantidade de ingressos diponíveis");
}
if ((this.quantLugares - vendidos) >= 0) {
this.lugaresVend += vendidos;
this.quantLugares -= vendidos;
System.out.println("Compra efetuada com sucesso!!!");
}
}
public void vendas() {
if ((this.quantLugares - VALOR_DEFAULT_INGRESSO) < 0) {
System.out.println("Não temos essa quantidade de ingressos diponíveis");
}
if ((this.quantLugares - VALOR_DEFAULT_INGRESSO) >= 0) {
this.lugaresVend += VALOR_DEFAULT_INGRESSO;
this.quantLugares -= VALOR_DEFAULT_INGRESSO;
System.out.println("Compra efetuada com sucesso!!!");
}
}
}
package EventoPack;
public class PanArray {
private String titulo, local, data, hora;
private int codigo, status, quantLugares, lugaresVend;
private double valIngresso;
private int loc;
Evento event[] = new Evento[3];
public PanArray(String titulo, String local, String data, String hora, int status, int quantLugares,
double valIngresso, int loc) {
this.codigo = 0;
this.titulo = titulo;
this.local = local;
this.data = data;
this.hora = hora;
this.status = status;
this.quantLugares = quantLugares;
this.lugaresVend = 0;
this.valIngresso = valIngresso;
this.loc = loc;
}
public PanArray(String titulo, String local, String data, String hora, int status, int loc) {
this.codigo = 0;
this.titulo = titulo;
this.local = local;
this.data = data;
this.hora = hora;
this.status = status;
this.lugaresVend = 0;
this.loc = loc;
}
public PanArray() {
this.codigo = 0;
this.titulo = null;
this.local = null;
this.data = null;
this.hora = null;
this.status = 0;
this.lugaresVend = 0;
this.loc = 0;
}
public int getCodd() {
return event[loc - 1].getCodigo();
}
public void setCodd(int codd) {
this.codigo = codd;
}
public int getPosicao() {
return event[loc - 1].getLoc();
}
public void setPosis(int locx) {
loc = locx;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getLocal() {
return local;
}
public void setLocal(String local) {
this.local = local;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getHora() {
return hora;
}
public void setHora(String hora) {
this.hora = hora;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getQuantLugares() {
return quantLugares;
}
public void setQuantLugares(int quantLugares) {
this.quantLugares = quantLugares;
}
public int getLugaresVend() {
return lugaresVend;
}
public void setLugaresVend(int lugaresVend) {
this.lugaresVend = lugaresVend;
}
public double getValIngresso() {
return valIngresso;
}
public void setValIngresso(double valIngresso) {
this.valIngresso = valIngresso;
}
public int getLoc() {
return loc;
}
public void setLoc(int loc) {
this.loc = loc;
}
public void evenDefault() {
for (int i = 0; i < event.length; i++) {
event[i] = new Evento();
}
}
public void eventoMenor() {
if (event[loc - 1] != null) {
System.out.println("Já possui um evento neste espaço, por favor escolha outro!!!");
} else {
event[loc - 1] = new Evento(titulo, local, data, hora, status, lugaresVend, loc);
}
}
public void criarEvent() {
if (event[loc - 1] == null) {
event[loc - 1] = new Evento(titulo, local, data, hora, status, quantLugares, lugaresVend, valIngresso, loc);
} else {
System.out.println("Já possui um evento neste espaço, por favor escolha outro!!!");
}
System.out.println("Codigo do seu evento: " + event[loc - 1].getCodigo());
}
public void exib() {
if (event[loc - 1].getStatus() != 0) {
if (event[0].getCodigo() == this.codigo) {
System.out.println("===========================================================");
System.out.println("Codigo do evento: " + event[0].getCodigo());
System.out.println("Titulo do evento: " + event[0].getTitulo());
System.out.println("Local do evento: " + event[0].getLocal());
System.out.println("Data do evento: " + event[0].getData());
System.out.println("Hora do evento: " + event[0].getHora());
System.out.println("Status do evento: " + event[0].getStatus());
System.out.println("Capacidade do evento: " + event[0].getQuantLugares());
System.out.println("Valor do ingresso do evento: " + event[0].getValIngresso());
System.out.println("Lugares vendidos até agora: " + event[0].getLugaresVend());
System.out.println("===========================================================");
}
if (event[1].getCodigo() == codigo) {
System.out.println("===========================================================");
System.out.println("Codigo do evento: " + event[1].getCodigo());
System.out.println("Titulo do evento: " + event[1].getTitulo());
System.out.println("Local do evento: " + event[1].getLocal());
System.out.println("Data do evento: " + event[1].getData());
System.out.println("Hora do evento: " + event[1].getHora());
System.out.println("Status do evento: " + event[1].getStatus());
System.out.println("Capacidade do evento: " + event[1].getQuantLugares());
System.out.println("Valor do ingresso do evento: " + event[1].getValIngresso());
System.out.println("Lugares vendidos até agora: " + event[1].getLugaresVend());
System.out.println("===========================================================");
}
if (event[2].getCodigo() == codigo) {
System.out.println("===========================================================");
System.out.println("Codigo do evento: " + event[2].getCodigo());
System.out.println("Titulo do evento: " + event[2].getTitulo());
System.out.println("Local do evento: " + event[2].getLocal());
System.out.println("Data do evento: " + event[2].getData());
System.out.println("Hora do evento: " + event[2].getHora());
System.out.println("Status do evento: " + event[2].getStatus());
System.out.println("Capacidade do evento: " + event[2].getQuantLugares());
System.out.println("Valor do ingresso do evento: " + event[2].getValIngresso());
System.out.println("Lugares vendidos até agora: " + event[2].getLugaresVend());
System.out.println("===========================================================");
} else if (codigo != event[0].getCodigo() || codigo != event[1].getCodigo()
|| codigo != event[2].getCodigo()) {
System.out.println("Não há eventos com esse código!!!");
}
} else {
System.out.println("Não evento disponíveis!");
}
}
}
package EventoPack;
import java.util.Scanner;
public class InterEvento {
public static void main(String[] args) {
Scanner a = new Scanner(System.in);
PanArray eve = new PanArray();
String titulo, local, data, hora;
int status, quantLugares, lugaresVend;
double valIngresso;
int loc;
boolean geren = true;
eve.evenDefault();
do {
System.out.println("=============================GERENCIAMENTO=============================");
System.out.println("1. Cadastrar um Evento");
System.out.println("2. Remover um Evento.");
System.out.println("3. Consultar os dados de um determinado evento.");
System.out.println("4. Iniciar a venda de ingressos para um determinado evento.");
System.out.println("5. Encerrar a venda de ingressos para um determinado evento.");
System.out.println("6. Cancelar um determinado evento.");
System.out.println("7. Marcar um determinado evento como já ocorrido.");
System.out.println("8. Consultar a quantidade de lugares livres para um determinado evento.");
System.out.println("9. Vender ingresso de um determinado evento.");
System.out.println("10. Vender ingresso de um evento com quantidade de ingressos default.");
System.out.println("11. Listar os dados de todos os eventos.");
System.out.println("12. Sair do programa.");
System.out.println("========================================================================");
int opc = a.nextInt();
switch (opc) {
case 1: {
System.out.println("Em que espaço deseja guardar seu evento?[1, 2 ou 3]");
loc = a.nextInt();
System.out.println("Insira o titulo do evento:");
titulo = a.next();
System.out.println("Insira o local do evento");
local = a.next();
System.out.println("Insira a data do evento");
data = a.next();
System.out.println("Insira a hora em que o evento ocorrerá");
hora = a.next();
System.out.println("Deseja inserir o PREÇO e a CAPACIDADE do evento?[1 - sim/2 - não]");
opc = a.nextInt();
switch (opc) {
case 1: {
System.out.println("Insira o preço do ingresso:");
valIngresso = a.nextDouble();
System.out.println("Inisra a capacidade do local:");
quantLugares = a.nextInt();
System.out.println("Sua venda de ingressos começará como DESATIVADA.[Status = 2]");
status = 2;
eve = new PanArray(titulo, local, data, hora, status, quantLugares, valIngresso, loc);
eve.criarEvent();
break;
}
case 2: {
}
default: {
System.out.println("ERRO!!!");
}
}
break;
}
case 2: {
}
case 3: {
System.out.println("Inisra o CODIGO do evento desejado:");
int codd = a.nextInt();
eve.setCodd(codd);
eve.exib();
break;
}
case 4: {
}
case 5: {
}
case 6: {
}
case 7: {
}
case 8: {
}
case 9: {
}
case 10: {
}
case 11: {
}
case 12: {
geren = false;
}
}
} while (geren);
}
}