Boa noite gente, sou novo na linguagem java, estou com um problema no meu projeto. Não estou conseguindo listarRota. Quando vou acessar o Menu de compras e coloca na opção Listar rotas, da erro. Se alguém tiver alguma solução. Não sei se ficou bem explicado.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Cadastro {
Scanner ent = new Scanner (System.in);
private String op;
private List<Estacao> dados;
public List<Rota> dadosRota;
private List<Trem> dadosTrem;
public void cadastrarEstacao () {
boolean permissao = true;
dados = new ArrayList<Estacao> ();
while (permissao) {
Estacao e = new Estacao();
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
System.out.println("Nome da estação: ");
this.op = ent.nextLine();
e.setNome(this.op);
System.out.println("Cadastrar estação: S/N ");
this.op = ent.nextLine();
if(this.op.equals("s") || this.op.equals("S") ) {
dados.add(e);
System.out.println("Cadastro adcionado!");
}else if (this.op.equals("n")) {
System.out.println("Cadastro ignorado!");
}else {
System.out.println("Opção invalida!");
}
System.out.println("Aperte qualquer tecla para continuar cadastrando ou [N] para sair:");
this.op = ent.nextLine();
if(this.op.equals("N") ) {
permissao = false;
}else if (this.op.contentEquals("s")) {
}else {
permissao = false;
}
}
}
public void listarEstacao () {
if (dados.size() == 0) {
System.out.println("Nâo tem nenhuma estação cadastrada!!!");
}else {
for (int i = 0; i < dados.size(); i++) {
System.out.println(dados.get(i).getNome());
}
}
}
public void cadastrarRota () {
boolean permissao = true;
dadosRota =new ArrayList<Rota>();
while(permissao) {
Rota r = new Rota();
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
System.out.println("Nome da rota:");
this.op = ent.nextLine();
r.setNome(this.op);
System.out.println("Digite todas as estações que compõem a essa rota: ");
this.op = ent.nextLine();
r.setEstacao(this.op);
System.out.println("Cadastrar rota: S/N ");
this.op = ent.nextLine();
if(this.op.equals("s") || this.op.equals("S") ) {
dadosRota.add(r);
System.out.println("Cadastro adcionado!");
}else if (this.op.equals("n")) {
System.out.println("Cadastro ignorado!");
}else {
System.out.println("Opção invalida!");
}
System.out.println("Aperte qualquer tecla para continuar cadastrando ou [N] para sair:");
this.op = ent.nextLine();
if(this.op.equals("N") || this.op.equals("n") ) {
permissao = false;
}else if (this.op.contentEquals("s") || this.op.contentEquals("S")) {
}else {
permissao = false;
}
}
}
public void listarRota() {
if(dadosRota.size() == 0) {
System.out.println("Nenhuma rota cadastrada!!!");
}else {
for (int i = 0; i < dadosRota.size(); i++) {
System.out.println("Rota: "+ dadosRota.get(i).getNome());
System.out.println("Estações: " + dadosRota.get(i).getEstacao());
}
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Menu {
private int op;
Scanner ent = new Scanner(System.in);
public void menuOp () {
while(true) {
System.out.println("===== Bem Vindo =====");
System.out.println("DIGITE A OPÇÃO DESEJADA:");
System.out.println("1 - Menu de cadastros:");
System.out.println("2 - Menu de compras:");
String op = ent.nextLine();
switch (op) {
case "1":
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
System.out.println("O que deseja cadastrar: ");
System.out.println("Trem: [1]");
System.out.println("Estação: [2]");
System.out.println("Cadastrar rota: [3]");
op = ent.nextLine();
if (op.equals("1")) {
menuTrem();
}else if (op.contentEquals("2")) {
menuEstacao();
}else if (op.contentEquals("3")) {
menuRota();
}else {
System.out.println("Opção errada, favor digitar novamente!");
}
break;
case "2":
menuCompras();
break;
}
}
}
public void menuEstacao() {
boolean permissao = true;
Cadastro c = new Cadastro();
while (permissao) {
System.out.println("=-=-=-=-= Menu de cadastro de estações =-=-=-=-=");
System.out.println("Selecione a opção:");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair");
String op = ent.nextLine();
if(op.equals("n")) {
c.cadastrarEstacao();
}else if (op.equals("l")){
c.listarEstacao();
}else if (op.equals("x")) {
permissao = false;
}else {
System.out.println("\nOpção invalida!");
}
}
}
public void menuRota () {
boolean permissao = true;
Cadastro c = new Cadastro();
while (permissao) {
c.dadosRota = new ArrayList <Rota>();
System.out.println("=-=-=-=-= Menu de cadastro de rotas =-=-=-=-=");
System.out.println("Selecione a opção:");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair");
String op = ent.nextLine();
if(op.equals("n")) {
c.cadastrarRota();
}else if (op.equals("l")){
if (c.getDadosRota() == null) {
System.out.println("nenhum item na lista!");
}else {
c.listarRota();
}
}else if (op.equals("x")) {
permissao = false;
}else {
System.out.println("\nOpção invalida!");
}
}
}
public void menuTrem () {
boolean permissao = true;
Cadastro c = new Cadastro();
while (permissao) {
System.out.println("=-=-=-=-= Menu de cadastro de trens =-=-=-=-=");
System.out.println("Selecione a opção:");
System.out.println("N - Novo cadastro");
System.out.println("L - Listar cadastros");
System.out.println("X - Sair");
String op = ent.nextLine();
if(op.equals("n")) {
c.cadastrarTrem();
}else if (op.equals("l")){
c.listarTrem();
}else if (op.equals("x")) {
permissao = false;
}else {
System.out.println("\nOpção invalida!");
}
}
}
public void menuCompras () {
boolean permissao = true;
Cadastro c = new Cadastro();
System.out.println("=-=-=-= Bem vindo ao menu de compras =-=-=-= ");
System.out.println("Digite a opção desejada:");
System.out.println("1-Ver rotas:");
System.out.println("2-Realizar compra:");
System.out.println("3-Sair:");
String op = ent.nextLine();
while (permissao){
if (op.equals("1")) {
c.listarRota();
}else if(op.equals("2")) {
System.out.println("");
}else if (op.equals("3")) {
permissao = false;
}else {
System.out.println("Opção invalida!");
}
}
}
public int getOp() {
return op;
}
public void setOp(int op) {
this.op = op;
}
}