//Preciso ordenar o Array Items (listait) de acordo com o codigo do item, como fica isso na pratica?
MAIN
package App;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import javax.swing.JOptionPane;
import Model.Compra;
import Model.Itens;
import Model.Pessoa;
import Model.PessoaFisica;
import Model.PessoaJuridica;
public class AppPessoa {
ArrayList<Pessoa> p = new ArrayList<Pessoa>();
public static void main(String[] args) {
boolean achou;
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date dt = new Date();
Compra c = new Compra();
do {
c.setData(JOptionPane.showInputDialog("Data da compra:"));
try {
dt = df.parse(c.getData());
achou = true;
} catch (Exception e) {
achou = false;
}
} while (!achou);
Itens l = new Itens();
Pessoa p = new Pessoa();
p.setIdade(Integer.parseInt(JOptionPane
.showInputDialog("Idade da pessoa:")));
p.setNome(JOptionPane.showInputDialog("Nome:"));
p.add(p);
while (!Pessoa.getNome().equalsIgnoreCase("")) {
p.setPessoa(JOptionPane
.showInputDialog("Pessoa jurídica ou física?\n J - Jurídica\n F - Física"));
if (p.getPessoa().equalsIgnoreCase("J")) {
String r = "";
PessoaJuridica pj = new PessoaJuridica();
pj.setCnpj(JOptionPane.showInputDialog("CNPJ:"));
pj.setInscricao(JOptionPane.showInputDialog("Inscrição:"));
r = JOptionPane
.showInputDialog("Efetuar uma compra?\nS - Sim\nN - Não");
if (r.equalsIgnoreCase("N")) {
JOptionPane.showMessageDialog(null, "Você comprou 0 itens");
}
while (r.equalsIgnoreCase("S")) {
l.setCodigo(JOptionPane.showInputDialog("Código do item:"));
l.setDescricao(JOptionPane.showInputDialog("Descrição:"));
l.setUnidade(Float.parseFloat(JOptionPane
.showInputDialog("Unidade:")));
l.setValorunitario(Float.parseFloat(JOptionPane
.showInputDialog("Valor Unitário:")));
r = JOptionPane
.showInputDialog("Efetuar outra compra?\nS - Sim\nN - Não");
pj.getCont();
if (r.equalsIgnoreCase("N")) {
JOptionPane.showMessageDialog(null, "Você comprou "
+ pj.getCont() + " itens");
}
pj.setListaitem(l);
pj.add(pj);
}
p.setNome(JOptionPane.showInputDialog("Nome:"));
p.add(p);
p.setPessoa(JOptionPane
.showInputDialog("Pessoa jurídica ou física?\n J - Jurídica\n F - Física"));
}
if (p.getPessoa().equalsIgnoreCase("F")) {
String r2 = "";
PessoaFisica pf = new PessoaFisica();
pf.setCpf(JOptionPane.showInputDialog("CPF:"));
pf.setIdentidade(JOptionPane.showInputDialog("Identidade:"));
r2 = JOptionPane
.showInputDialog("Efetuar uma compra?\nS - Sim\nN - Não");
if (r2.equalsIgnoreCase("N")) {
JOptionPane.showMessageDialog(null, "Você comprou 0 itens");
}
while (r2.equalsIgnoreCase("S")) {
l.setCodigo(JOptionPane.showInputDialog("Código do item:"));
l.setDescricao(JOptionPane.showInputDialog("Descrição:"));
l.setUnidade(Float.parseFloat(JOptionPane
.showInputDialog("Unidade:")));
l.setValorunitario(Float.parseFloat(JOptionPane
.showInputDialog("Valor Unitário:")));
r2 = JOptionPane
.showInputDialog("Efetuar outra compra?\nS - Sim\nN - Não");
pf.getCont();
if (r2.equalsIgnoreCase("N")) {
JOptionPane.showMessageDialog(null, "Você comprou "
+ pf.getCont() + " itens");
}
pf.setListaitem(l);
pf.add(pf);
}
p.setNome(JOptionPane.showInputDialog("Nome:"));
p.add(p);
}
}
Pessoa.maiorCompraPessoaFisica();
Pessoa.menasCompraPessoaJuridica();
}
}
SERVICO
package Model;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Servico {
ArrayList<PessoaFisica> pf = new ArrayList<PessoaFisica>();
ArrayList<PessoaJuridica> pj = new ArrayList<PessoaJuridica>();
ArrayList<Compra> comp = new ArrayList<Compra>();
ArrayList<Itens> listait = new ArrayList<Itens>();
ArrayList<Pessoa> p = new ArrayList<Pessoa>();
public void setLista(Itens it) {
this.listait.add(it);
}
public void setListapf(PessoaFisica pf) {
this.pf.add(pf);
}
public String desc15() {
float soma = 0;
float tot = 0;
String saux = "\n---\n";
for (Itens i : listait) {
soma += i.getValorunitario();
}
if (soma > 5000) {
tot = (float) (tot - (soma * 0.15));
}
saux += "Valor com desconto de 15%: " + tot;
return saux;
}
public String desc8() {
float soma = 0;
float tot = 0;
String saux = "\n---\n";
for (Itens i : listait) {
soma += i.getValorunitario();
}
if (soma > 800) {
tot = (float) (tot - (soma * 0.8));
}
saux += "Valor com desconto de 8%: " + tot;
return saux;
}
public String desc3() {
float soma = 0;
float tot = 0;
String saux = "\n---\n";
for (Itens i : listait) {
soma += i.getValorunitario();
}
tot = (float) (tot - (soma * 0.3));
saux += "Valor com desconto de 3%: " + tot;
return saux;
}
public void pFisicaqueMaiscomprou() {
String saux = "\n---\n";
String p = "";
int valor = 0;
for (PessoaFisica f : pf){
if (f.getCont() > valor){
valor = f.getCont();
}
saux += "Pessoa Física que mais efetuou compras: ";
/*ArrayList<Pessoa> maiorQMedia = camara.getPerfMaiorQueMedia();
ArrayList<Pessoa> p = getNome();
String aux3 = "";
for (Pessoa p : p)
aux3 += v + "";
JTextArea textoArea3 = new JTextArea(15, 30);
textoArea3.setText(aux3);
JOptionPane.showMessageDialog(null, new JScrollPane(textoArea3),
"Teste: ",
JOptionPane.INFORMATION_MESSAGE);
JTextArea textoArea2 = new JTextArea();
textoArea2.setText();
JOptionPane.showMessageDialog(null, new JScrollPane(textoArea2),
"Teste: ", JOptionPane.INFORMATION_MESSAGE);
*/
}
}
}
