# 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
---