Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 1 de 27]
Ministério da Educação
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Campus Cornélio Procópio
REVISÃO
Link para os códigos fontes: https://www.4shared.com/folder/mefFHjzZ/Java.html
1. COMANDOS DE CONTROLE DE PROGRAMA
1.1. IF/THEN/ELSE
1.1.1. IF SIMPLES
package exemploscontroledeprograma;
import java.util.Scanner;
public class IF_Simples {
public static void main(String[] args) {
float a;
Scanner s = new Scanner(System.in);
System.out.println("nDigite um número entre 0.0 e 10.0");
a = s.nextFloat();
if (a >= 7) {
System.out.println("nAprovado");
}
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 2 de 27]
1.1.2. IF COMPOSTO
package exemploscontroledeprograma;
import java.util.Scanner;
public class IF_Composto {
public static void main(String[] args) {
float a;
Scanner s = new Scanner(System.in);
System.out.println("nDigite um número entre 0.0 e 10.0");
a = s.nextFloat();
if (a >= 7) {
System.out.println("nAprovado");
} else {
System.out.println("nReprovado");
}
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 3 de 27]
1.1.3. IF ANINHADO
package exemploscontroledeprograma;
import java.util.Scanner;
public class IF_Aninhado {
public static void main(String[] args) {
float a;
Scanner s = new Scanner(System.in);
System.out.println("nDigite um número entre 0.0 e 10.0");
a = s.nextFloat();
if (a >= 7) {
System.out.println("nAprovado");
} else if (a >=4) {
System.out.println("nRecuperação");
} else {
System.out.println("nReprovado");
}
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 4 de 27]
1.2 SWITCH/CASE
package exemploscontroledeprograma;
import java.util.Scanner;
public class Switch_Case {
public static void main(String[] args) {
float a, b;
Scanner s = new Scanner(System.in);
a = s.nextFloat();
b = s.nextFloat();
System.out.println("n | MENU: |");
System.out.println("n | 2. Subtrair |");
System.out.println("n | 4. Dividir |");
System.out.println("n ");
opcao = s.nextInt();
case 1:
break;
System.out.println("A subtração é: " + (a + b));
case 3:
break;
if (b == 0) {
} else {
}
default:
break;
System.out.println("n");
}
int opcao;
System.out.println("n Digite o primeiro operando: t");
System.out.println("n Digite o segundo operando: t");
System.out.println("n | 1. Somar |");
System.out.println("n | 3. Multiplicar |");
System.out.println("n | 0. Sair |");
System.out.println("n Digite uma das opçõe acima: t");
System.out.println("n ");
switch (opcao) {
System.out.println("nA soma é: " + (a + b));
case 2:
break;
System.out.println("nA multiplicação é: " + (a + b));
case 4:
System.out.println("nNão existe divisão por
zero");
System.out.println("nA divisão é: " + (a + b));
break;
System.out.println("nEu sou o padrão");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 5 de 27]
1.3 FOR
1.3.1 FOR CRESCENTE
package exemploscontroledeprograma;
public class For_Crescente {
public static void main(String[] args) {
float soma=0, media=0;
int i=0;
for(i=0;i<10;i++){
soma = soma + i;
System.out.println("n| Passagem: " + i + " | A soma é: " +
soma + "|");
}
media = soma/10;
System.out.println("nA média é:" + media);
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 6 de 27]
1.3.1 FOR DECRESCENTE
package exemploscontroledeprograma;
public class For_Decrescente {
public static void main(String[] args) {
float soma=0, media=0;
int i=10;
for(i=10;i>0;i--){
soma = soma + i;
System.out.println("n| Passagem: " + i + " | A soma é: " +
soma + "|");
}
media = soma/10;
System.out.println("nA média é:" + media);
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 7 de 27]
1.4 WHILE
package exemploscontroledeprograma;
public class While {
public static void main(String[] args) {
float soma = 0, media = 0;
int i = 0;
while (i < 10) {
i = i + 1;
soma = soma + i;
System.out.println("n| Passagem: " + i + " | A soma é: " +
soma + "|");
}
media = soma / 10;
System.out.println("nA média é:" + media);
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 8 de 27]
1.5 DO/WHILE
package exemploscontroledeprograma;
public class Do_While {
public static void main(String[] args) {
float soma = 0, media = 0;
int i=10;
do{
soma = soma + i;
System.out.println("n| Passagem: " + i + " | A soma é: " +
soma + "|");
}while(i!=0);
media = soma / 10;
System.out.println("nA média é:" + media);
System.out.println("n");
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 9 de 27]
2. ARRAYS
2.1. ARRAY UNIDIMENSIONAL
package exemploscontroledeprograma;
import java.util.Scanner;
public class Array_Uni {
public static void main(String[] args) {
int i = 0;
String[] nome = new String[10];
Scanner s = new Scanner(System.in);
//Inicializando o Array
for (i = 0; i < 10; i++) {
nome[i] = "NULL";
}
//Imprimindo o Array
for (i = 0; i < 10; i++) {
System.out.println("nPosição: " + i + "Nome: " + nome[i]);
}
//Populando o Array
for (i = 0; i < 10; i++) {
System.out.println("nDigite o Nome: t");
nome[i] = s.nextLine();
}
//Imprimindo o Array
for (i = 0; i < 10; i++) {
System.out.println("nPosição: " + i + "Nome: " + nome[i]);
}
}
}
SAÍDA:
| Posição: 0| Nome: NULL
| Posição: 1| Nome: NULL
| Posição: 2| Nome: NULL
| Posição: 3| Nome: NULL
| Posição: 4| Nome: NULL
| Posição: 5| Nome: NULL
| Posição: 6| Nome: NULL
| Posição: 7| Nome: NULL
| Posição: 8| Nome: NULL
| Posição: 9| Nome: NULL
Digite o Nome: José
Digite o Nome: Rosalina
Digite o Nome: Ana
Digite o Nome: Lúcia
Digite o Nome: Edson
Digite o Nome: Frank
Digite o Nome: Laura
Digite o Nome: Paula
Digite o Nome: Lívia
Digite o Nome: Luísa
| Posição: 0| Nome: José
| Posição: 1| Nome: Rosalina
| Posição: 2| Nome: Ana
| Posição: 3| Nome: Lúcia
| Posição: 4| Nome: Edson
| Posição: 5| Nome: Frank
| Posição: 6| Nome: Laura
| Posição: 7| Nome: Paula
| Posição: 8| Nome: Lívia
| Posição: 9| Nome: Luísa
REPRESENTAÇÃO GRÁFICA:
0 1 2 3 4 5 6 7 8 9
José Rosalina Ana Lúcia Edson Frank Laura Paula Lívia Luísa
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 10 de 27]
2.2. ARRAY BIDIMENSIONAL
package exemploscontroledeprograma;
import java.util.Scanner;
public class Array_Bi {
public static void main(String[] args) {
int i = 0, j = 0;
String[][] matriz = new String[2][2];
Scanner s = new Scanner(System.in);
//Inicializando o Array
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
matriz[i][j] = "NULL";
}
}
//Imprimindo o Array
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
System.out.println("n| Linha: " + i + " | Coluna: " + j + " | Nome: " + matriz[i][j]);
}
}
//Populando o Array
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
System.out.println("nDigite uma Palavra: ");
matriz[i][j] = s.nextLine();
}
}
//Imprimindo o Array
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
System.out.println("n| Linha: " + i + " | Coluna: " + j + " | Nome: " + matriz[i][j]);
}
}
}
}
SAÍDA:
| Linha: 0 | Coluna: 0 | Nome: NULL
| Linha: 0 | Coluna: 1 | Nome: NULL
| Linha: 1 | Coluna: 0 | Nome: NULL
| Linha: 1 | Coluna: 1 | Nome: NULL
Digite uma Palavra: Água
Digite uma Palavra: Fogo
Digite uma Palavra: Gás
Digite uma Palavra: Metal
| Linha: 0 | Coluna: 0 | Nome: Água
| Linha: 0 | Coluna: 1 | Nome: Fogo
| Linha: 1 | Coluna: 0 | Nome: Gás
| Linha: 1 | Coluna: 1 | Nome: Metal
REPRESENTAÇÃO GRÁFICA:
0 1
0 Água Fogo
1 Gás Metal
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 11 de 27]
3. CLASSES
Sistema de Agendamento de Visitas (Vendas porta em porta)
Uma empresa do comércio trabalha com o sistema de vendas porta a porta. Visitas são feitas
aos clientes potenciais, em suas casas, por meio do agendamento do melhor dia e horário para
conversar, incluindo finais de semana. Assim:
• Uma empresa tem vários vendedores;
• Uma empresa tem vários produtos;
• Uma empresa tem vários clientes;
• Um vendedor pode agendar uma ou mais visitas;
• Um vendedor pode vender nenhum, um ou mais produtos em uma visita;
• Uma visita precisa ter uma data e um horário agendados;
• Uma visita pode ser reagendada por dois motivos: o vendedor não poderá mais ir, então
terá de ser substituído por outro, ou os potenciais clientes solicitaram a mudança.
• Um produto pode ser vendido para nenhum, um ou mais clientes;
• Um cliente pode comprar nenhum, um ou mais produtos;
• Etc.
Classes Necessárias: Cliente, Estoque, Produto, Vendedor, Visita e Venda.
Métodos Necessários:
Cadastrar Clientes;
Cadastrar Vendedores;
Cadastrar Produtos;
Cadastrar Visitas;
Cadastrar Vendas;
Modificar Clientes;
Modificar Vendedores;
Modificar Produtos;
Modificar Visitas;
Modificar Vendas;
Atualizar Estoque;
Buscar Cliente;
Buscar Vendedor;
Buscar Produto;
Buscar Visita;
Buscar Venda;
Consultar Estoque;
Relatório de Clientes;
Relatório de Vendedores;
Relatório de Produtos;
Relatório de Visitas;
Relatório de Vendas;
Outros tipos de Relatórios;
Relatório do Estoque;
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 12 de 27]
3.1 Exemplo 1
Código Fonte Parcial
package exemploscontroledeprograma;
public class Vendedor {
private String Nome;
private String dataInicio;
public Vendedor() {
}
public Vendedor(String Nome, String dataInicio) {
this.Nome = Nome;
this.dataInicio = dataInicio;
}
public String getNome() {
return Nome;
}
public void setNome(String Nome) {
this.Nome = Nome;
}
public String getDataInicio() {
return dataInicio;
}
public void setDataInicio(String dataInicio) {
this.dataInicio = dataInicio;
}
}
package exemploscontroledeprograma;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class Utils {
public LocalDate formataData(String data) {
DateTimeFormatter formataData = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate localDate = LocalDate.parse(data, formataData);
return localDate;
}
public String formataData2(LocalDate data) {
DateTimeFormatter formataData = DateTimeFormatter.ofPattern("dd/MM/yyyy");
String a = data.format(formataData);
return a;
}
public LocalTime formataHora(String hora) {
DateTimeFormatter formataHora = DateTimeFormatter.ofPattern("HH:mm");
LocalTime localTime = LocalTime.parse(hora, formataHora);
return localTime;
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 13 de 27]
}
public String converteSemana(int d) {
String a = "";
switch (d) {
case 1:
a = "Domingo";
break;
case 2:
a = "Segunda-feira";
break;
case 3:
a = "Terça-feira";
break;
case 4:
a = "Quarta-feira";
break;
case 5:
a = "Quinta-feira";
break;
case 6:
a = "Sexta-feira";
break;
case 7:
a = "Sábado";
break;
}
return a;
}
}
package exemploscontroledeprograma;
import java.time.LocalDate;
import java.time.LocalTime;
public class Visita {
private LocalDate DataVisita;
private LocalTime HoraVisita;
private LocalDate DiaDaSemana;
private Boolean VendaRealizada;
private String Comentarios;
private Vendedor vendedor;
public Visita() {
}
public Visita(LocalDate DataVisita, LocalTime HoraVisita, LocalDate DiaDaSemana, Boolean
VendaRealizada, String Comentarios, Vendedor vendedor) {
this.DataVisita = DataVisita;
this.HoraVisita = HoraVisita;
this.DiaDaSemana = DiaDaSemana;
this.VendaRealizada = VendaRealizada;
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 14 de 27]
this.Comentarios = Comentarios;
this.vendedor = vendedor;
}
public Vendedor getVendedor() {
return vendedor;
}
public void setVendedor(Vendedor vendedor) {
this.vendedor = vendedor;
}
public String getComentarios() {
return Comentarios;
}
public void setComentarios(String Comentarios) {
this.Comentarios = Comentarios;
}
public Boolean getVendaRealizada() {
return VendaRealizada;
}
public void setVendaRealizada(Boolean VendaRealizada) {
this.VendaRealizada = VendaRealizada;
}
public LocalDate getDataVisita() {
return DataVisita;
}
public void setDataVisita(LocalDate DataVisita) {
this.DataVisita = DataVisita;
}
public LocalTime getHoraVisita() {
return HoraVisita;
}
public void setHoraVisita(LocalTime HoraVisita) {
this.HoraVisita = HoraVisita;
}
public LocalDate getDiaDaSemana() {
return DiaDaSemana;
}
public void setDiaDaSemana(LocalDate DiaDaSemana) {
this.DiaDaSemana = DiaDaSemana;
}
}
package exemploscontroledeprograma;
public class Endereco {
private String TipoLogradouro; //rua, avenida, alamenda, etc.
private String NomeLogradouro; //nome da rua, avenida, etc.
private int Numero;
private int NumeroDaQuadra;
private String Bairro;
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 15 de 27]
private String Cidade;
private String Estado;
private String CEP;
private String Referencia;
public Endereco() {
}
public Endereco(String TipoLogradouro, String NomeLogradouro, int Numero, int
NumeroDaQuadra, String Bairro, String Cidade, String Estado, String CEP, String Referencia) {
this.TipoLogradouro = TipoLogradouro;
this.NomeLogradouro = NomeLogradouro;
this.Numero = Numero;
this.NumeroDaQuadra = NumeroDaQuadra;
this.Bairro = Bairro;
this.Cidade = Cidade;
this.Estado = Estado;
this.CEP = CEP;
this.Referencia = Referencia;
}
public String getTipoLogradouro() {
return TipoLogradouro;
}
public void setTipoLogradouro(String TipoLogradouro) {
this.TipoLogradouro = TipoLogradouro;
}
public String getNomeLogradouro() {
return NomeLogradouro;
}
public void setNomeLogradouro(String NomeLogradouro) {
this.NomeLogradouro = NomeLogradouro;
}
public int getNumero() {
return Numero;
}
public void setNumero(int Numero) {
this.Numero = Numero;
}
public int getNumeroDaQuadra() {
return NumeroDaQuadra;
}
public void setNumeroDaQuadra(int NumeroDaQuadra) {
this.NumeroDaQuadra = NumeroDaQuadra;
}
public String getBairro() {
return Bairro;
}
public void setBairro(String Bairro) {
this.Bairro = Bairro;
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 16 de 27]
public String getCidade() {
return Cidade;
}
public void setCidade(String Cidade) {
this.Cidade = Cidade;
}
public String getEstado() {
return Estado;
}
public void setEstado(String Estado) {
this.Estado = Estado;
}
public String getCEP() {
return CEP;
}
public void setCEP(String CEP) {
this.CEP = CEP;
}
public String getReferencia() {
return Referencia;
}
public void setReferencia(String Referencia) {
this.Referencia = Referencia;
}
}
package exemploscontroledeprograma;
public class EnderecoAp extends Endereco {
private int numeroDaTorre;
private int numeroDoAp;
private int numeroDoAndar;
private String nomeCondominio;
public EnderecoAp(int numeroDaTorre, int numeroDoAp, int numeroDoAndar, String
nomeCondominio) {
this.numeroDaTorre = numeroDaTorre;
this.numeroDoAp = numeroDoAp;
this.numeroDoAndar = numeroDoAndar;
this.nomeCondominio = nomeCondominio;
}
public EnderecoAp() {
}
public int getNumeroDaTorre() {
return numeroDaTorre;
}
public void setNumeroDaTorre(int numeroDaTorre) {
this.numeroDaTorre = numeroDaTorre;
}
public int getNumeroDoAp() {
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 17 de 27]
return numeroDoAp;
}
public void setNumeroDoAp(int numeroDoAp) {
this.numeroDoAp = numeroDoAp;
}
public int getNumeroDoAndar() {
return numeroDoAndar;
}
public void setNumeroDoAndar(int numeroDoAndar) {
this.numeroDoAndar = numeroDoAndar;
}
public String getNomeCondominio() {
return nomeCondominio;
}
public void setNomeCondominio(String nomeCondominio) {
this.nomeCondominio = nomeCondominio;
}
}
package exemploscontroledeprograma;
public class Cliente {
private String NomeCliente;
private String TelefoneFixo;
private String TelefoneCelular;
private String Indicacao;
private Endereco endereco;
private EnderecoAp endAp;
private Visita visita;
public Cliente() {
}
public Cliente(String NomeCliente, String TelefoneFixo, String TelefoneCelular, String
Indicacao, Endereco endereco, EnderecoAp endAp, Visita visita) {
this.NomeCliente = NomeCliente;
this.TelefoneFixo = TelefoneFixo;
this.TelefoneCelular = TelefoneCelular;
this.Indicacao = Indicacao;
this.endereco = endereco;
this.endAp = endAp;
this.visita = visita;
}
public EnderecoAp getEndAp() {
return endAp;
}
public void setEndAp(EnderecoAp endAp) {
this.endAp = endAp;
}
public Endereco getEndereco() {
if (endereco == null) endereco = new Endereco();
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 18 de 27]
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Visita getVisita() {
if (visita == null) visita = new Visita();
return visita;
}
public void setVisita(Visita visita) {
this.visita = visita;
}
public String getNomeCliente() {
return NomeCliente;
}
public void setNomeCliente(String NomeCliente) {
this.NomeCliente = NomeCliente;
}
public String getTelefoneFixo() {
return TelefoneFixo;
}
public void setTelefoneFixo(String TelefoneFixo) {
this.TelefoneFixo = TelefoneFixo;
}
public String getTelefoneCelular() {
return TelefoneCelular;
}
public void setTelefoneCelular(String TelefoneCelular) {
this.TelefoneCelular = TelefoneCelular;
}
public String getIndicacao() {
return Indicacao;
}
public void setIndicacao(String Indicacao) {
this.Indicacao = Indicacao;
}
}
package exemploscontroledeprograma;
import java.util.Scanner;
public class AgendaVisita {
private Cliente c;
private Endereco e;
private EnderecoAp eap;
private Visita v;
private Vendedor ve;
private Utils u = new Utils();
Scanner s = new Scanner(System.in);
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 19 de 27]
int tipo;
public void menu() {
int opcao = 0;
do {
System.out.print("n|----------------------------------------|");
System.out.print("n| MENU |");
System.out.print("n| 1. Cadastrar Visita. |");
System.out.print("n| 2. Visualizar Informações do Cliente. |");
System.out.print("n| 3. Visualizar Informações da Visita. |");
System.out.print("n| 4. Cancelar Visita. |");
System.out.print("n| 5. Remarcar Visita. |");
System.out.print("n| 6. Situação da Venda. |");
System.out.print("n| 7. Sair. |");
System.out.print("n|----------------------------------------|");
System.out.print("n| Digite a opção desejada: t");
opcao = Integer.parseInt(s.next());
System.out.print("n");
switch (opcao) {
case 1:
cadastrar();
break;
case 2:
if (c == null) {
System.out.print("n|Não há nenhum cadastro. |n");
} else {
imprimirCliente();
}
break;
case 3:
if (c == null) {
System.out.print("n|Não há nenhum cadastro. |n");
} else {
imprimirVisita();
}
break;
case 4:
if (c == null) {
System.out.print("n|Não há nenhum cadastro. |n");
} else {
cancelar();
}
break;
case 5:
if (c == null) {
System.out.print("n|Não há nenhum cadastro. |n");
} else {
remarcar();
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 20 de 27]
break;
case 6:
if (c == null) {
System.out.print("n|Não há nenhum cadastro. |n");
} else {
venda();
}
break;
case 7:
System.exit(0);
break;
default:
//System.out.println("Opção Inválida");
break;
}
} while (opcao != 7);
}
public void cadastrar() {
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.print("n| CADASTRAR VISITA |");
c = new Cliente();
v = new Visita();
ve = new Vendedor();
System.out.print("n|Digite o Nome Completo do Potencial Cliente: t");
c.setNomeCliente(s.next());
s.nextLine();
cadastrarEndereco();
System.out.print("n|Digite o Telefone Fixo no formato XX-XXXX-XXXX: t");
c.setTelefoneFixo(s.next());
s.nextLine();
System.out.print("n|Digite o Telefone Celular no formato XX-X-XXXX-XXXX: t");
c.setTelefoneCelular(s.next());
s.nextLine();
System.out.print("n|Digite a Data da Visita no formato dd/mm/aaaa: t");
String data = s.next();
v.setDataVisita(u.formataData(data));
v.setDiaDaSemana(u.formataData(data));
s.nextLine();
System.out.print("n|Digite a Hora da Visita no formato hh:mm: t");
String hora = s.next();
v.setHoraVisita(u.formataHora(hora));
s.nextLine();
System.out.print("n|Digite o nome do Vendedor: t");
ve.setNome(s.nextLine());
v.setVendedor(ve);
System.out.print("n|Comentários: t");
v.setComentarios(s.nextLine());
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 21 de 27]
c.setVisita(v);
System.out.print("n|Indicação: t");
c.setIndicacao(s.nextLine());
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.println("");
}
public void cadastrarEndereco() {
e = new Endereco();
System.out.print("n|Digite 1 para Casa ou 2 para Apartamento: t");
tipo = Integer.parseInt(s.next());
if (tipo == 1) {
System.out.print("n|Digite o Tipo de Logradouro (rua, avenida, alameda, etc.):
t");
e.setTipoLogradouro(s.next());
s.nextLine();
System.out.print("n|Digite o Nome do Logradouro: t");
e.setNomeLogradouro(s.nextLine());
System.out.print("n|Digite o Número: t");
e.setNumero(Integer.parseInt(s.next()));
s.nextLine();
System.out.print("n|Digite o Número da Quadra. Se não houver preencha com 0: t");
e.setNumeroDaQuadra(Integer.parseInt(s.next()));
s.nextLine();
System.out.print("n|Digite o Bairro: t");
e.setBairro((s.nextLine()));
System.out.print("n|Digite o Cidade: t");
e.setCidade((s.nextLine()));
System.out.print("n|Digite o Estado no formato XX: t");
e.setEstado((s.next()));
s.nextLine();
System.out.print("n|Digite o CEP no formato XX.XXX-XX: t");
e.setCEP((s.next()));
s.nextLine();
System.out.print("n|Digite a Referência. Se não houver preencha com 0: t");
e.setReferencia((s.nextLine()));
c.setEndereco(e);
} else {
eap = new EnderecoAp();
System.out.print("n|Digite o Tipo de Logradouro (rua, avenida, alameda, etc.):
t");
eap.setTipoLogradouro(s.next());
s.nextLine();
System.out.print("n|Digite o Nome do Logradouro: t");
eap.setNomeLogradouro(s.nextLine());
System.out.print("n|Digite o Número: t");
eap.setNumero(Integer.parseInt(s.next()));
s.nextLine();
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 22 de 27]
System.out.print("n|Digite o Número da Quadra. Se não houver preencha com 0: t");
eap.setNumeroDaQuadra(Integer.parseInt(s.next()));
s.nextLine();
System.out.print("n|Digite o Bairro: t");
eap.setBairro((s.nextLine()));
System.out.print("n|Digite o Cidade: t");
eap.setCidade((s.nextLine()));
System.out.print("n|Digite o Estado no formato XX: t");
eap.setEstado((s.next()));
s.nextLine();
System.out.print("n|Digite o CEP no formato XX.XXX-XX: t");
eap.setCEP((s.next()));
s.nextLine();
System.out.print("n|Digite a Referência. Se não houver preencha com 0: t");
eap.setReferencia((s.nextLine()));
System.out.print("n|Digite o nome do Condomínio: t");
eap.setNomeCondominio(s.nextLine());
System.out.print("n|Digite o número da Torre: t");
eap.setNumeroDaTorre(Integer.parseInt(s.next()));
s.nextLine();
System.out.print("n|Digite o número do Andar: t");
eap.setNumeroDoAndar(Integer.parseInt(s.next()));
s.nextLine();
System.out.print("n|Digite o número do Apartamento: t");
eap.setNumeroDoAp(Integer.parseInt(s.next()));
s.nextLine();
c.setEndAp(eap);
}
}
public void imprimirCliente() {
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.print("n| VISUALIZAR CLIENTE |");
if (tipo == 1) {
System.out.print("n|Nome t" + c.getNomeCliente());
System.out.print("n|Endereço t"
+ c.getEndereco().getTipoLogradouro() + " "
+ c.getEndereco().getNomeLogradouro() + ", Numero "
+ c.getEndereco().getNumero() + ", Quadra "
+ c.getEndereco().getNumeroDaQuadra() + ".");
System.out.print("n|Numero da Quadra t" +
c.getEndereco().getNumeroDaQuadra());
System.out.print("n|Bairro t" + c.getEndereco().getBairro());
System.out.print("n|Cidade t" + c.getEndereco().getCidade());
System.out.print("n|Estado t" + c.getEndereco().getEstado());
System.out.print("n|CEP t" + c.getEndereco().getCEP());
System.out.print("n|Referência t" + c.getEndereco().getReferencia());
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 23 de 27]
System.out.print("n|Telefone Fixo t" + c.getTelefoneFixo());
System.out.print("n|Telefone Celular t" + c.getTelefoneCelular());
System.out.print("n|Indicacao t" + c.getIndicacao());
} else {
System.out.print("n|Nome t" + c.getNomeCliente());
System.out.print("n|Endereço t"
+ c.getEndAp().getTipoLogradouro()
+ " " + c.getEndAp().getNomeLogradouro()
+ ", Quadra " + c.getEndAp().getNumero()
+ ", Número " + c.getEndAp().getNumeroDaQuadra() + ".");
System.out.print("n|Condominio t" + c.getEndAp().getNomeCondominio());
System.out.print("n|Complemento t"
+ "Torre " + c.getEndAp().getNumeroDaTorre()
+ ", Andar " + c.getEndAp().getNumeroDoAndar()
+ ", Apartamento " + c.getEndAp().getNumeroDoAp() + ".");
System.out.print("n|Bairro t" + c.getEndAp().getBairro());
System.out.print("n|Cidade t" + c.getEndAp().getCidade());
System.out.print("n|Estado t" + c.getEndAp().getEstado());
System.out.print("n|CEP t" + c.getEndAp().getCEP());
System.out.print("n|Referência t" + c.getEndAp().getReferencia());
System.out.print("n|Telefone Fixo t" + c.getTelefoneFixo());
System.out.print("n|Telefone Celular t" + c.getTelefoneCelular());
System.out.print("n|Indicacao t" + c.getIndicacao());
}
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.println("");
}
public void imprimirVisita() {
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.print("n| VISUALIZAR VISITA |");
System.out.print("n|Data da Visita t" +
u.formataData2(c.getVisita().getDataVisita()));
System.out.print("n|Hora da Visita t" + c.getVisita().getHoraVisita());
int d = c.getVisita().getDiaDaSemana().getDayOfWeek().getValue();
System.out.print("n|Dia da Semana t" + u.converteSemana(d));
System.out.print("n|Vendedor t" + c.getVisita().getVendedor().getNome());
System.out.print("n|Comentários t" + c.getVisita().getComentarios());
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.println("");
}
public void remarcar() {
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.print("n| REMARCAR VISITA |");
System.out.print("n|Digite a Data da Visita no formato dd/mm/aaaa: t");
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 24 de 27]
String data = s.next();
v.setDataVisita(u.formataData(data));
v.setDiaDaSemana(u.formataData(data));
System.out.print("n|Digite a Hora da Visita no formato hh:mm: t");
String hora = s.next();
v.setHoraVisita(u.formataHora(hora));
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.println("");
}
public void cancelar() {
}
public void venda() {
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.print("n| VENDA |");
System.out.print("n|A Venda foi realizada?");
System.out.print("n|Digite 1 para SIM ou 0 para NÃO: t");
int r = s.nextInt();
if (r == 1) {
v.setVendaRealizada(Boolean.TRUE);
System.out.print("n|Venda Realizada.");
} else {
v.setVendaRealizada(Boolean.FALSE);
System.out.print("n|Venda Não Realizada.");
}
System.out.print("n|-----------------------------------------------------------------
---------|");
System.out.println("");
}
}
package exemploscontroledeprograma;
import java.io.IOException;
public class TestaAgendamento {
public static void main(String[] args) throws IOException {
AgendaVisita av = new AgendaVisita();
av.menu();
}
}
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 25 de 27]
3.2 Exemplo 2
Sistema de agendamento de visitas versão 2.
Usando LIST para armazenar várias instâncias das classes.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 26 de 27]
3.3 Exemplo 3
Sistema de agendamento de visitas versão 3.
Usando banco de dados.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto [Página 27 de 27]
3.4 Exemplo 4
Sistema de agendamento de visitas versão 4.
Usando interfaces gráficas.

Programação Desktop: Revisão Core Java

  • 1.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 1 de 27] Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Cornélio Procópio REVISÃO Link para os códigos fontes: https://www.4shared.com/folder/mefFHjzZ/Java.html 1. COMANDOS DE CONTROLE DE PROGRAMA 1.1. IF/THEN/ELSE 1.1.1. IF SIMPLES package exemploscontroledeprograma; import java.util.Scanner; public class IF_Simples { public static void main(String[] args) { float a; Scanner s = new Scanner(System.in); System.out.println("nDigite um número entre 0.0 e 10.0"); a = s.nextFloat(); if (a >= 7) { System.out.println("nAprovado"); } System.out.println("n"); } }
  • 2.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 2 de 27] 1.1.2. IF COMPOSTO package exemploscontroledeprograma; import java.util.Scanner; public class IF_Composto { public static void main(String[] args) { float a; Scanner s = new Scanner(System.in); System.out.println("nDigite um número entre 0.0 e 10.0"); a = s.nextFloat(); if (a >= 7) { System.out.println("nAprovado"); } else { System.out.println("nReprovado"); } System.out.println("n"); } }
  • 3.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 3 de 27] 1.1.3. IF ANINHADO package exemploscontroledeprograma; import java.util.Scanner; public class IF_Aninhado { public static void main(String[] args) { float a; Scanner s = new Scanner(System.in); System.out.println("nDigite um número entre 0.0 e 10.0"); a = s.nextFloat(); if (a >= 7) { System.out.println("nAprovado"); } else if (a >=4) { System.out.println("nRecuperação"); } else { System.out.println("nReprovado"); } System.out.println("n"); } }
  • 4.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 4 de 27] 1.2 SWITCH/CASE package exemploscontroledeprograma; import java.util.Scanner; public class Switch_Case { public static void main(String[] args) { float a, b; Scanner s = new Scanner(System.in); a = s.nextFloat(); b = s.nextFloat(); System.out.println("n | MENU: |"); System.out.println("n | 2. Subtrair |"); System.out.println("n | 4. Dividir |"); System.out.println("n "); opcao = s.nextInt(); case 1: break; System.out.println("A subtração é: " + (a + b)); case 3: break; if (b == 0) { } else { } default: break; System.out.println("n"); } int opcao; System.out.println("n Digite o primeiro operando: t"); System.out.println("n Digite o segundo operando: t"); System.out.println("n | 1. Somar |"); System.out.println("n | 3. Multiplicar |"); System.out.println("n | 0. Sair |"); System.out.println("n Digite uma das opçõe acima: t"); System.out.println("n "); switch (opcao) { System.out.println("nA soma é: " + (a + b)); case 2: break; System.out.println("nA multiplicação é: " + (a + b)); case 4: System.out.println("nNão existe divisão por zero"); System.out.println("nA divisão é: " + (a + b)); break; System.out.println("nEu sou o padrão"); } }
  • 5.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 5 de 27] 1.3 FOR 1.3.1 FOR CRESCENTE package exemploscontroledeprograma; public class For_Crescente { public static void main(String[] args) { float soma=0, media=0; int i=0; for(i=0;i<10;i++){ soma = soma + i; System.out.println("n| Passagem: " + i + " | A soma é: " + soma + "|"); } media = soma/10; System.out.println("nA média é:" + media); System.out.println("n"); } }
  • 6.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 6 de 27] 1.3.1 FOR DECRESCENTE package exemploscontroledeprograma; public class For_Decrescente { public static void main(String[] args) { float soma=0, media=0; int i=10; for(i=10;i>0;i--){ soma = soma + i; System.out.println("n| Passagem: " + i + " | A soma é: " + soma + "|"); } media = soma/10; System.out.println("nA média é:" + media); System.out.println("n"); } }
  • 7.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 7 de 27] 1.4 WHILE package exemploscontroledeprograma; public class While { public static void main(String[] args) { float soma = 0, media = 0; int i = 0; while (i < 10) { i = i + 1; soma = soma + i; System.out.println("n| Passagem: " + i + " | A soma é: " + soma + "|"); } media = soma / 10; System.out.println("nA média é:" + media); System.out.println("n"); } }
  • 8.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 8 de 27] 1.5 DO/WHILE package exemploscontroledeprograma; public class Do_While { public static void main(String[] args) { float soma = 0, media = 0; int i=10; do{ soma = soma + i; System.out.println("n| Passagem: " + i + " | A soma é: " + soma + "|"); }while(i!=0); media = soma / 10; System.out.println("nA média é:" + media); System.out.println("n"); } }
  • 9.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 9 de 27] 2. ARRAYS 2.1. ARRAY UNIDIMENSIONAL package exemploscontroledeprograma; import java.util.Scanner; public class Array_Uni { public static void main(String[] args) { int i = 0; String[] nome = new String[10]; Scanner s = new Scanner(System.in); //Inicializando o Array for (i = 0; i < 10; i++) { nome[i] = "NULL"; } //Imprimindo o Array for (i = 0; i < 10; i++) { System.out.println("nPosição: " + i + "Nome: " + nome[i]); } //Populando o Array for (i = 0; i < 10; i++) { System.out.println("nDigite o Nome: t"); nome[i] = s.nextLine(); } //Imprimindo o Array for (i = 0; i < 10; i++) { System.out.println("nPosição: " + i + "Nome: " + nome[i]); } } } SAÍDA: | Posição: 0| Nome: NULL | Posição: 1| Nome: NULL | Posição: 2| Nome: NULL | Posição: 3| Nome: NULL | Posição: 4| Nome: NULL | Posição: 5| Nome: NULL | Posição: 6| Nome: NULL | Posição: 7| Nome: NULL | Posição: 8| Nome: NULL | Posição: 9| Nome: NULL Digite o Nome: José Digite o Nome: Rosalina Digite o Nome: Ana Digite o Nome: Lúcia Digite o Nome: Edson Digite o Nome: Frank Digite o Nome: Laura Digite o Nome: Paula Digite o Nome: Lívia Digite o Nome: Luísa | Posição: 0| Nome: José | Posição: 1| Nome: Rosalina | Posição: 2| Nome: Ana | Posição: 3| Nome: Lúcia | Posição: 4| Nome: Edson | Posição: 5| Nome: Frank | Posição: 6| Nome: Laura | Posição: 7| Nome: Paula | Posição: 8| Nome: Lívia | Posição: 9| Nome: Luísa REPRESENTAÇÃO GRÁFICA: 0 1 2 3 4 5 6 7 8 9 José Rosalina Ana Lúcia Edson Frank Laura Paula Lívia Luísa
  • 10.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 10 de 27] 2.2. ARRAY BIDIMENSIONAL package exemploscontroledeprograma; import java.util.Scanner; public class Array_Bi { public static void main(String[] args) { int i = 0, j = 0; String[][] matriz = new String[2][2]; Scanner s = new Scanner(System.in); //Inicializando o Array for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { matriz[i][j] = "NULL"; } } //Imprimindo o Array for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { System.out.println("n| Linha: " + i + " | Coluna: " + j + " | Nome: " + matriz[i][j]); } } //Populando o Array for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { System.out.println("nDigite uma Palavra: "); matriz[i][j] = s.nextLine(); } } //Imprimindo o Array for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { System.out.println("n| Linha: " + i + " | Coluna: " + j + " | Nome: " + matriz[i][j]); } } } } SAÍDA: | Linha: 0 | Coluna: 0 | Nome: NULL | Linha: 0 | Coluna: 1 | Nome: NULL | Linha: 1 | Coluna: 0 | Nome: NULL | Linha: 1 | Coluna: 1 | Nome: NULL Digite uma Palavra: Água Digite uma Palavra: Fogo Digite uma Palavra: Gás Digite uma Palavra: Metal | Linha: 0 | Coluna: 0 | Nome: Água | Linha: 0 | Coluna: 1 | Nome: Fogo | Linha: 1 | Coluna: 0 | Nome: Gás | Linha: 1 | Coluna: 1 | Nome: Metal REPRESENTAÇÃO GRÁFICA: 0 1 0 Água Fogo 1 Gás Metal
  • 11.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 11 de 27] 3. CLASSES Sistema de Agendamento de Visitas (Vendas porta em porta) Uma empresa do comércio trabalha com o sistema de vendas porta a porta. Visitas são feitas aos clientes potenciais, em suas casas, por meio do agendamento do melhor dia e horário para conversar, incluindo finais de semana. Assim: • Uma empresa tem vários vendedores; • Uma empresa tem vários produtos; • Uma empresa tem vários clientes; • Um vendedor pode agendar uma ou mais visitas; • Um vendedor pode vender nenhum, um ou mais produtos em uma visita; • Uma visita precisa ter uma data e um horário agendados; • Uma visita pode ser reagendada por dois motivos: o vendedor não poderá mais ir, então terá de ser substituído por outro, ou os potenciais clientes solicitaram a mudança. • Um produto pode ser vendido para nenhum, um ou mais clientes; • Um cliente pode comprar nenhum, um ou mais produtos; • Etc. Classes Necessárias: Cliente, Estoque, Produto, Vendedor, Visita e Venda. Métodos Necessários: Cadastrar Clientes; Cadastrar Vendedores; Cadastrar Produtos; Cadastrar Visitas; Cadastrar Vendas; Modificar Clientes; Modificar Vendedores; Modificar Produtos; Modificar Visitas; Modificar Vendas; Atualizar Estoque; Buscar Cliente; Buscar Vendedor; Buscar Produto; Buscar Visita; Buscar Venda; Consultar Estoque; Relatório de Clientes; Relatório de Vendedores; Relatório de Produtos; Relatório de Visitas; Relatório de Vendas; Outros tipos de Relatórios; Relatório do Estoque;
  • 12.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 12 de 27] 3.1 Exemplo 1 Código Fonte Parcial package exemploscontroledeprograma; public class Vendedor { private String Nome; private String dataInicio; public Vendedor() { } public Vendedor(String Nome, String dataInicio) { this.Nome = Nome; this.dataInicio = dataInicio; } public String getNome() { return Nome; } public void setNome(String Nome) { this.Nome = Nome; } public String getDataInicio() { return dataInicio; } public void setDataInicio(String dataInicio) { this.dataInicio = dataInicio; } } package exemploscontroledeprograma; import java.time.LocalDate; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class Utils { public LocalDate formataData(String data) { DateTimeFormatter formataData = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate localDate = LocalDate.parse(data, formataData); return localDate; } public String formataData2(LocalDate data) { DateTimeFormatter formataData = DateTimeFormatter.ofPattern("dd/MM/yyyy"); String a = data.format(formataData); return a; } public LocalTime formataHora(String hora) { DateTimeFormatter formataHora = DateTimeFormatter.ofPattern("HH:mm"); LocalTime localTime = LocalTime.parse(hora, formataHora); return localTime;
  • 13.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 13 de 27] } public String converteSemana(int d) { String a = ""; switch (d) { case 1: a = "Domingo"; break; case 2: a = "Segunda-feira"; break; case 3: a = "Terça-feira"; break; case 4: a = "Quarta-feira"; break; case 5: a = "Quinta-feira"; break; case 6: a = "Sexta-feira"; break; case 7: a = "Sábado"; break; } return a; } } package exemploscontroledeprograma; import java.time.LocalDate; import java.time.LocalTime; public class Visita { private LocalDate DataVisita; private LocalTime HoraVisita; private LocalDate DiaDaSemana; private Boolean VendaRealizada; private String Comentarios; private Vendedor vendedor; public Visita() { } public Visita(LocalDate DataVisita, LocalTime HoraVisita, LocalDate DiaDaSemana, Boolean VendaRealizada, String Comentarios, Vendedor vendedor) { this.DataVisita = DataVisita; this.HoraVisita = HoraVisita; this.DiaDaSemana = DiaDaSemana; this.VendaRealizada = VendaRealizada;
  • 14.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 14 de 27] this.Comentarios = Comentarios; this.vendedor = vendedor; } public Vendedor getVendedor() { return vendedor; } public void setVendedor(Vendedor vendedor) { this.vendedor = vendedor; } public String getComentarios() { return Comentarios; } public void setComentarios(String Comentarios) { this.Comentarios = Comentarios; } public Boolean getVendaRealizada() { return VendaRealizada; } public void setVendaRealizada(Boolean VendaRealizada) { this.VendaRealizada = VendaRealizada; } public LocalDate getDataVisita() { return DataVisita; } public void setDataVisita(LocalDate DataVisita) { this.DataVisita = DataVisita; } public LocalTime getHoraVisita() { return HoraVisita; } public void setHoraVisita(LocalTime HoraVisita) { this.HoraVisita = HoraVisita; } public LocalDate getDiaDaSemana() { return DiaDaSemana; } public void setDiaDaSemana(LocalDate DiaDaSemana) { this.DiaDaSemana = DiaDaSemana; } } package exemploscontroledeprograma; public class Endereco { private String TipoLogradouro; //rua, avenida, alamenda, etc. private String NomeLogradouro; //nome da rua, avenida, etc. private int Numero; private int NumeroDaQuadra; private String Bairro;
  • 15.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 15 de 27] private String Cidade; private String Estado; private String CEP; private String Referencia; public Endereco() { } public Endereco(String TipoLogradouro, String NomeLogradouro, int Numero, int NumeroDaQuadra, String Bairro, String Cidade, String Estado, String CEP, String Referencia) { this.TipoLogradouro = TipoLogradouro; this.NomeLogradouro = NomeLogradouro; this.Numero = Numero; this.NumeroDaQuadra = NumeroDaQuadra; this.Bairro = Bairro; this.Cidade = Cidade; this.Estado = Estado; this.CEP = CEP; this.Referencia = Referencia; } public String getTipoLogradouro() { return TipoLogradouro; } public void setTipoLogradouro(String TipoLogradouro) { this.TipoLogradouro = TipoLogradouro; } public String getNomeLogradouro() { return NomeLogradouro; } public void setNomeLogradouro(String NomeLogradouro) { this.NomeLogradouro = NomeLogradouro; } public int getNumero() { return Numero; } public void setNumero(int Numero) { this.Numero = Numero; } public int getNumeroDaQuadra() { return NumeroDaQuadra; } public void setNumeroDaQuadra(int NumeroDaQuadra) { this.NumeroDaQuadra = NumeroDaQuadra; } public String getBairro() { return Bairro; } public void setBairro(String Bairro) { this.Bairro = Bairro; }
  • 16.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 16 de 27] public String getCidade() { return Cidade; } public void setCidade(String Cidade) { this.Cidade = Cidade; } public String getEstado() { return Estado; } public void setEstado(String Estado) { this.Estado = Estado; } public String getCEP() { return CEP; } public void setCEP(String CEP) { this.CEP = CEP; } public String getReferencia() { return Referencia; } public void setReferencia(String Referencia) { this.Referencia = Referencia; } } package exemploscontroledeprograma; public class EnderecoAp extends Endereco { private int numeroDaTorre; private int numeroDoAp; private int numeroDoAndar; private String nomeCondominio; public EnderecoAp(int numeroDaTorre, int numeroDoAp, int numeroDoAndar, String nomeCondominio) { this.numeroDaTorre = numeroDaTorre; this.numeroDoAp = numeroDoAp; this.numeroDoAndar = numeroDoAndar; this.nomeCondominio = nomeCondominio; } public EnderecoAp() { } public int getNumeroDaTorre() { return numeroDaTorre; } public void setNumeroDaTorre(int numeroDaTorre) { this.numeroDaTorre = numeroDaTorre; } public int getNumeroDoAp() {
  • 17.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 17 de 27] return numeroDoAp; } public void setNumeroDoAp(int numeroDoAp) { this.numeroDoAp = numeroDoAp; } public int getNumeroDoAndar() { return numeroDoAndar; } public void setNumeroDoAndar(int numeroDoAndar) { this.numeroDoAndar = numeroDoAndar; } public String getNomeCondominio() { return nomeCondominio; } public void setNomeCondominio(String nomeCondominio) { this.nomeCondominio = nomeCondominio; } } package exemploscontroledeprograma; public class Cliente { private String NomeCliente; private String TelefoneFixo; private String TelefoneCelular; private String Indicacao; private Endereco endereco; private EnderecoAp endAp; private Visita visita; public Cliente() { } public Cliente(String NomeCliente, String TelefoneFixo, String TelefoneCelular, String Indicacao, Endereco endereco, EnderecoAp endAp, Visita visita) { this.NomeCliente = NomeCliente; this.TelefoneFixo = TelefoneFixo; this.TelefoneCelular = TelefoneCelular; this.Indicacao = Indicacao; this.endereco = endereco; this.endAp = endAp; this.visita = visita; } public EnderecoAp getEndAp() { return endAp; } public void setEndAp(EnderecoAp endAp) { this.endAp = endAp; } public Endereco getEndereco() { if (endereco == null) endereco = new Endereco();
  • 18.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 18 de 27] return endereco; } public void setEndereco(Endereco endereco) { this.endereco = endereco; } public Visita getVisita() { if (visita == null) visita = new Visita(); return visita; } public void setVisita(Visita visita) { this.visita = visita; } public String getNomeCliente() { return NomeCliente; } public void setNomeCliente(String NomeCliente) { this.NomeCliente = NomeCliente; } public String getTelefoneFixo() { return TelefoneFixo; } public void setTelefoneFixo(String TelefoneFixo) { this.TelefoneFixo = TelefoneFixo; } public String getTelefoneCelular() { return TelefoneCelular; } public void setTelefoneCelular(String TelefoneCelular) { this.TelefoneCelular = TelefoneCelular; } public String getIndicacao() { return Indicacao; } public void setIndicacao(String Indicacao) { this.Indicacao = Indicacao; } } package exemploscontroledeprograma; import java.util.Scanner; public class AgendaVisita { private Cliente c; private Endereco e; private EnderecoAp eap; private Visita v; private Vendedor ve; private Utils u = new Utils(); Scanner s = new Scanner(System.in);
  • 19.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 19 de 27] int tipo; public void menu() { int opcao = 0; do { System.out.print("n|----------------------------------------|"); System.out.print("n| MENU |"); System.out.print("n| 1. Cadastrar Visita. |"); System.out.print("n| 2. Visualizar Informações do Cliente. |"); System.out.print("n| 3. Visualizar Informações da Visita. |"); System.out.print("n| 4. Cancelar Visita. |"); System.out.print("n| 5. Remarcar Visita. |"); System.out.print("n| 6. Situação da Venda. |"); System.out.print("n| 7. Sair. |"); System.out.print("n|----------------------------------------|"); System.out.print("n| Digite a opção desejada: t"); opcao = Integer.parseInt(s.next()); System.out.print("n"); switch (opcao) { case 1: cadastrar(); break; case 2: if (c == null) { System.out.print("n|Não há nenhum cadastro. |n"); } else { imprimirCliente(); } break; case 3: if (c == null) { System.out.print("n|Não há nenhum cadastro. |n"); } else { imprimirVisita(); } break; case 4: if (c == null) { System.out.print("n|Não há nenhum cadastro. |n"); } else { cancelar(); } break; case 5: if (c == null) { System.out.print("n|Não há nenhum cadastro. |n"); } else { remarcar(); }
  • 20.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 20 de 27] break; case 6: if (c == null) { System.out.print("n|Não há nenhum cadastro. |n"); } else { venda(); } break; case 7: System.exit(0); break; default: //System.out.println("Opção Inválida"); break; } } while (opcao != 7); } public void cadastrar() { System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.print("n| CADASTRAR VISITA |"); c = new Cliente(); v = new Visita(); ve = new Vendedor(); System.out.print("n|Digite o Nome Completo do Potencial Cliente: t"); c.setNomeCliente(s.next()); s.nextLine(); cadastrarEndereco(); System.out.print("n|Digite o Telefone Fixo no formato XX-XXXX-XXXX: t"); c.setTelefoneFixo(s.next()); s.nextLine(); System.out.print("n|Digite o Telefone Celular no formato XX-X-XXXX-XXXX: t"); c.setTelefoneCelular(s.next()); s.nextLine(); System.out.print("n|Digite a Data da Visita no formato dd/mm/aaaa: t"); String data = s.next(); v.setDataVisita(u.formataData(data)); v.setDiaDaSemana(u.formataData(data)); s.nextLine(); System.out.print("n|Digite a Hora da Visita no formato hh:mm: t"); String hora = s.next(); v.setHoraVisita(u.formataHora(hora)); s.nextLine(); System.out.print("n|Digite o nome do Vendedor: t"); ve.setNome(s.nextLine()); v.setVendedor(ve); System.out.print("n|Comentários: t"); v.setComentarios(s.nextLine());
  • 21.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 21 de 27] c.setVisita(v); System.out.print("n|Indicação: t"); c.setIndicacao(s.nextLine()); System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.println(""); } public void cadastrarEndereco() { e = new Endereco(); System.out.print("n|Digite 1 para Casa ou 2 para Apartamento: t"); tipo = Integer.parseInt(s.next()); if (tipo == 1) { System.out.print("n|Digite o Tipo de Logradouro (rua, avenida, alameda, etc.): t"); e.setTipoLogradouro(s.next()); s.nextLine(); System.out.print("n|Digite o Nome do Logradouro: t"); e.setNomeLogradouro(s.nextLine()); System.out.print("n|Digite o Número: t"); e.setNumero(Integer.parseInt(s.next())); s.nextLine(); System.out.print("n|Digite o Número da Quadra. Se não houver preencha com 0: t"); e.setNumeroDaQuadra(Integer.parseInt(s.next())); s.nextLine(); System.out.print("n|Digite o Bairro: t"); e.setBairro((s.nextLine())); System.out.print("n|Digite o Cidade: t"); e.setCidade((s.nextLine())); System.out.print("n|Digite o Estado no formato XX: t"); e.setEstado((s.next())); s.nextLine(); System.out.print("n|Digite o CEP no formato XX.XXX-XX: t"); e.setCEP((s.next())); s.nextLine(); System.out.print("n|Digite a Referência. Se não houver preencha com 0: t"); e.setReferencia((s.nextLine())); c.setEndereco(e); } else { eap = new EnderecoAp(); System.out.print("n|Digite o Tipo de Logradouro (rua, avenida, alameda, etc.): t"); eap.setTipoLogradouro(s.next()); s.nextLine(); System.out.print("n|Digite o Nome do Logradouro: t"); eap.setNomeLogradouro(s.nextLine()); System.out.print("n|Digite o Número: t"); eap.setNumero(Integer.parseInt(s.next())); s.nextLine();
  • 22.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 22 de 27] System.out.print("n|Digite o Número da Quadra. Se não houver preencha com 0: t"); eap.setNumeroDaQuadra(Integer.parseInt(s.next())); s.nextLine(); System.out.print("n|Digite o Bairro: t"); eap.setBairro((s.nextLine())); System.out.print("n|Digite o Cidade: t"); eap.setCidade((s.nextLine())); System.out.print("n|Digite o Estado no formato XX: t"); eap.setEstado((s.next())); s.nextLine(); System.out.print("n|Digite o CEP no formato XX.XXX-XX: t"); eap.setCEP((s.next())); s.nextLine(); System.out.print("n|Digite a Referência. Se não houver preencha com 0: t"); eap.setReferencia((s.nextLine())); System.out.print("n|Digite o nome do Condomínio: t"); eap.setNomeCondominio(s.nextLine()); System.out.print("n|Digite o número da Torre: t"); eap.setNumeroDaTorre(Integer.parseInt(s.next())); s.nextLine(); System.out.print("n|Digite o número do Andar: t"); eap.setNumeroDoAndar(Integer.parseInt(s.next())); s.nextLine(); System.out.print("n|Digite o número do Apartamento: t"); eap.setNumeroDoAp(Integer.parseInt(s.next())); s.nextLine(); c.setEndAp(eap); } } public void imprimirCliente() { System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.print("n| VISUALIZAR CLIENTE |"); if (tipo == 1) { System.out.print("n|Nome t" + c.getNomeCliente()); System.out.print("n|Endereço t" + c.getEndereco().getTipoLogradouro() + " " + c.getEndereco().getNomeLogradouro() + ", Numero " + c.getEndereco().getNumero() + ", Quadra " + c.getEndereco().getNumeroDaQuadra() + "."); System.out.print("n|Numero da Quadra t" + c.getEndereco().getNumeroDaQuadra()); System.out.print("n|Bairro t" + c.getEndereco().getBairro()); System.out.print("n|Cidade t" + c.getEndereco().getCidade()); System.out.print("n|Estado t" + c.getEndereco().getEstado()); System.out.print("n|CEP t" + c.getEndereco().getCEP()); System.out.print("n|Referência t" + c.getEndereco().getReferencia());
  • 23.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 23 de 27] System.out.print("n|Telefone Fixo t" + c.getTelefoneFixo()); System.out.print("n|Telefone Celular t" + c.getTelefoneCelular()); System.out.print("n|Indicacao t" + c.getIndicacao()); } else { System.out.print("n|Nome t" + c.getNomeCliente()); System.out.print("n|Endereço t" + c.getEndAp().getTipoLogradouro() + " " + c.getEndAp().getNomeLogradouro() + ", Quadra " + c.getEndAp().getNumero() + ", Número " + c.getEndAp().getNumeroDaQuadra() + "."); System.out.print("n|Condominio t" + c.getEndAp().getNomeCondominio()); System.out.print("n|Complemento t" + "Torre " + c.getEndAp().getNumeroDaTorre() + ", Andar " + c.getEndAp().getNumeroDoAndar() + ", Apartamento " + c.getEndAp().getNumeroDoAp() + "."); System.out.print("n|Bairro t" + c.getEndAp().getBairro()); System.out.print("n|Cidade t" + c.getEndAp().getCidade()); System.out.print("n|Estado t" + c.getEndAp().getEstado()); System.out.print("n|CEP t" + c.getEndAp().getCEP()); System.out.print("n|Referência t" + c.getEndAp().getReferencia()); System.out.print("n|Telefone Fixo t" + c.getTelefoneFixo()); System.out.print("n|Telefone Celular t" + c.getTelefoneCelular()); System.out.print("n|Indicacao t" + c.getIndicacao()); } System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.println(""); } public void imprimirVisita() { System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.print("n| VISUALIZAR VISITA |"); System.out.print("n|Data da Visita t" + u.formataData2(c.getVisita().getDataVisita())); System.out.print("n|Hora da Visita t" + c.getVisita().getHoraVisita()); int d = c.getVisita().getDiaDaSemana().getDayOfWeek().getValue(); System.out.print("n|Dia da Semana t" + u.converteSemana(d)); System.out.print("n|Vendedor t" + c.getVisita().getVendedor().getNome()); System.out.print("n|Comentários t" + c.getVisita().getComentarios()); System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.println(""); } public void remarcar() { System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.print("n| REMARCAR VISITA |"); System.out.print("n|Digite a Data da Visita no formato dd/mm/aaaa: t");
  • 24.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 24 de 27] String data = s.next(); v.setDataVisita(u.formataData(data)); v.setDiaDaSemana(u.formataData(data)); System.out.print("n|Digite a Hora da Visita no formato hh:mm: t"); String hora = s.next(); v.setHoraVisita(u.formataHora(hora)); System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.println(""); } public void cancelar() { } public void venda() { System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.print("n| VENDA |"); System.out.print("n|A Venda foi realizada?"); System.out.print("n|Digite 1 para SIM ou 0 para NÃO: t"); int r = s.nextInt(); if (r == 1) { v.setVendaRealizada(Boolean.TRUE); System.out.print("n|Venda Realizada."); } else { v.setVendaRealizada(Boolean.FALSE); System.out.print("n|Venda Não Realizada."); } System.out.print("n|----------------------------------------------------------------- ---------|"); System.out.println(""); } } package exemploscontroledeprograma; import java.io.IOException; public class TestaAgendamento { public static void main(String[] args) throws IOException { AgendaVisita av = new AgendaVisita(); av.menu(); } }
  • 25.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 25 de 27] 3.2 Exemplo 2 Sistema de agendamento de visitas versão 2. Usando LIST para armazenar várias instâncias das classes.
  • 26.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 26 de 27] 3.3 Exemplo 3 Sistema de agendamento de visitas versão 3. Usando banco de dados.
  • 27.
    Prof.ª M.ª Eng.ªElaine Cecília Gatto [Página 27 de 27] 3.4 Exemplo 4 Sistema de agendamento de visitas versão 4. Usando interfaces gráficas.