# yha ### Bibliotecas import static java.lang.System.*; import java.util.*; import java.io.*; ### Dados globais String msg; - para as mensagens static Conta cont; -item da colecao static List <Conta> lstcont = new ArrayList<>(); - coleçao de itens String procura; int id; String pergunta [] = {"",""}; String filename; ## Carregar public static List<Conta> Carregar (Object [][] ob) { //Dados List <Conta> l = new ArrayList<>();//Colecao de contas Conta C;//elemento simples da conta for (Object o[] : ob) { C = new Conta ((String) o[0], (String) o[1], (Data) o[2], (Float) o[3]); nao esquecer - l.add(C);//Junta a conta á colecao de contas }//end for out.printf("Foram carregadas %d contas",l.size()); return l; } instanciar o metodo : lstcont = CarregarConta(CONTA); ## Listar public static void Listar(List <Conta> lc) { //titulo out.printf("\n\t\tListar\n"); //nome das Colunas out.printf("%5s %12s %12s %15s %15s %15s","Pos","Banco",Nome","Apelido","Data","Saldo") for (Conta C : lc) out.printf("\n\t%5s %12s %12s %15s %15s %15s", lc.indexOf(C), C.getBanco(), C.getNome(), C.getApelido, (C.getData()).toString(), C.getSaldo()); out.printf("\n\n"); }//end metodo Instanciar o metodo: ListarContas(lstcont); --- ## Listar por nome public static void ListarLevantamentospormes(List <Movimento> lm, int x) { //Titulo da tarefa out.printf("\n\t\t%s\n","Listagem de Levantamentos por nome"); //Cabecalho das colunas da listagem out.printf("\n\t%5s %10s %8s %15s %10s", "Pos","Nome","Apelido","Data" ,"Saldo"); //corpo for (Movimento A: lm) if (A.getNome().equals(x)) out.printf("\n\t%5s %10s %8s %15s %10s", lm.indexOf(A), A.getNome(), A.getApelido(), (A.getData()).toString(), A.getQuantia()); out.printf("%s","\n\n"); }//end metodo --- ## Listar por nome letra public static void ListarArtigosNome(List <Movimentos> lm) { String x ; //Titulo da Listagem System.out.printf("\n%5s %15s %15s %8s %10s %8s %8s %8s", "Pos","Artigo","Unidades","Preco","Quant.","Margem","Despesa","Receita"); for (Movimentos M: lm) if (M.getNome().startsWith(x)) //Conteudo da listagem por colunas System.out.printf("\n%5d %15s %15s %8.2f %10.2f %8.2f %8.2f %8.2f", lm.indexOf(M), M.getNome(), M.getUnidade(), M.getPreco(), M.getQuantidade(), M.getMargem(), M.getDespesa(), M.getReceita()); } System.out.println(); }//end Instanciar o metodo: case 3: //Listagem Parcial Nome ListarArtigosNome(lstmovi, "Que") ; x = false; break; --- ## --- #### Admitir String ou inteiro public static String AdmitirString(String x) ou int String devolve=""; ou int dev=0; out.printf("%s",x); devolve = sc.nextLine(); ou dev = sc.nextInt(); return devolve; --- Instanciar o metodo listar por nome: sc.nextLine(); procura = AdmitirString(msg4); ListarMovimentospornomedomes(lstmov, procura); --- ## Admitir dados public static Conta AdmitirConta (String [] c) { Conta cont;//elemento da conta Object novo[] = new Object[5]; int ct = 0; //se tiver data String str_dt []; int D[] = int new [3]; // sc.nextLine(); for (String X : c) { out.printf("\n\t%s",c[ct]); -mostrar as perguntas switch(ct) { case 0: novo[0] = sc.nextLine(); break; case 1: novo[1] = sc.nextLine(); case 2 : novo[2] = sc.nextLine() case 3 : novo[3] = sc.nextLine(); //se tiver data str_dt = ((String) novo[3]).split("-"); - decompor as tres strings Afectar os inteiros para a data D[0] = Integer.parseInt(str_dt[0]); D[1] = Integer.parseInt(str_dt[1]); D[2] = Integer.parseInt(str_dt[2]); // break; case 4 : novo[4] = sc.nextFloat(); break; }//end of switch ct++ //contador }//end for cont = new Conta ((String) novo[0], (String) novo[1], (String) novo[2], (Data) new Data (D[0],D[1],D[2]), (Float) novo[4]); return cont; }//end --- ## Inserir Dados public static void Inserir (List <Conta> lc,Conta C) { lc.add(A); }//end --- Instanciar o metodo: cont = Admitir(Perguntas); Inserir(lstconta,cont) ## Remover Dados public static void Remover (List <Conta> lc,int x) { lc.remove(x); }//end --- Instanciar o metodo //id é um inteiro qualquer. Listar(lstcont); id = AdmitirInt(msg2); Remover(lstcont,id); --- ## Gravar public static void GravarFicheiroContas(String nm, List <Conta> lc) throws IOException { FileWriter fw = new FileWriter(nm); PrintWriter pw = new PrintWriter(fw); for (Conta a : lc) { pw.printf("%s,%s,%s,%s,%s\n", a.getBanco(), a.getNome(), a.getApelido(), a.getData(), a.getSaldo()); }//end pw.close(); fw.close(); System.out.printf("\n\tO ficheiro foi gravado"); }//end Instanciar o metodo: try { GravarFicheiroContas(filename,lstcont); }catch(IOException ioe) { ioe.printStackTrace(); } --- ## To string por causa da data public String toString() { return String.format("%d-%d-%4d", this.getDia(), this.getMes(), this.getAno()); }//end }//end class ---