Preciso criar esta aplicação da maniera que me foi solicitado na facul, porem estou com alguns problemas, eu criei o menu da minha aplicação, segue abaixo o código:
import java.util.Scanner;
public class Menu {
boolean sair;public static void main(String[] args) {
Menu menu = new Menu(); menu.leOpcoesMenu();
}
public void leOpcoesMenu() {
printCabecalho();
while(!sair) {
printMenu();
int opcao = getInput();
executaAcao(opcao);
}
}private void printCabecalho() {
System.out.println("------------------------------------------------");
System.out.println(" Bemvindo ao sistema de consulta de chamados “);
System.out.println(”------------------------------------------------\n");
}private void printMenu() {
System.out.println(“Selecione uma opção para continuar: \n”);
System.out.println("Digite 1 para consultar ");
System.out.println("Digite 2 para salvar ");
System.out.println("Digite 3 para carregar ");
System.out.println(“Digite 4 para sair \n”);
}private int getInput() {
Scanner leitor = new Scanner(System.in); int opcao = -1; while(opcao < 4) { try { System.out.println("Digite sua escolha: "); opcao = Integer.parseInt(leitor.nextLine()); }catch(NumberFormatException e) { System.out.println("Opção inválida, selecione uma opção válida ! \n"); } } return opcao;
}
public void executaAcao(int opcao) {
switch(opcao) { case 1: LerEscreverChamado leChamado = new LerEscreverChamado(); leChamado.LeChamadosCSV("Chamados.csv"); break; case 2: //Salva(); break; case 3: //Carrega(); break; case 4: sair = true; System.out.println("Obrigado por utilizar minha aplicação kek \n"); break; default: System.out.println("Ocorreu um erro desconhecido. \n"); }
}
}
E também já criei uma classe que lê e escreve no arquivo, segue:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import javax.swing.JOptionPane;public class LerEscreverChamado {
public static void LeChamadosCSV(String arquivoCSV) {
BufferedReader leitorCSV = null; try { leitorCSV = new BufferedReader(new FileReader(arquivoCSV)); String linha = ""; leitorCSV.readLine(); // Remove a primeira linha (linha do título) String[] linhaArray; while(( linha = leitorCSV.readLine() ) != null) { linhaArray = linha.split(";"); // Converte string para array for(String s: linhaArray) { System.out.println(s); } System.out.println(""); } }catch(Exception e) { } return ;
}
public static void escreveNoArquivoCSV(String chamadoID, String Descricao, String DataAbertura, String Custo, String caminhoDoArquivo) {
try { FileWriter fw = new FileWriter(caminhoDoArquivo, true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); pw.println(chamadoID + ";" + Descricao + ";" + DataAbertura + ";" + Custo + ";"); pw.flush(); pw.close(); JOptionPane.showMessageDialog(null, "Chamado salvo com sucesso !"); }catch(Exception E) { System.out.println("Erro ao gravar chamado" + E.getMessage()); }
}
}
O que acontece é que não estou conseguindo criar a interação que me foi pedida com o menu e a classe, não consigo exibir da maneira que está sendo pedido no exercício.