├── .github
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── add-reviewers.yml
│ ├── auto-assign.yml
│ ├── first-interaction.yml
│ └── stale.yml
├── .gitignore
├── 0-BASICO
├── 1-estrutura-sequencial.md
├── 2-estrutura-sequencial.md
├── 3-estrutura-de-decisao.md
├── 4-estrutura-de-decisao.md
├── 5-estrutura-de-repeticao.md
├── 6-estrutura-de-repeticao.md
├── 7-estruturas.md
├── 8-desafio.md
├── AULAS
│ ├── aula-1-e-2.pdf
│ ├── aula-3.pdf
│ ├── aula-4.pdf
│ └── java-basico.pdf
└── README.md
├── 1-POO1
├── 1-aquecimento.md
├── 2-modelagem-de-classe.md
├── 3-modelagem-de-classe.md
├── 4-encapsulamento.md
├── AULAS
│ └── Java e Orientação a Objetos I.pdf
└── Herança
│ ├── Classes
│ ├── Admin.java
│ ├── Coordenador.java
│ ├── Funcionario.java
│ ├── Professor.java
│ └── Turma.java
│ └── enunciado.md
├── 2-POO2
└── AULAS
│ ├── Java e Orientação a Objetos II.pdf
│ ├── aula-1.pdf
│ ├── aula-2.pdf
│ └── aula-3.pdf
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── EXTRAS
├── Media.md
└── Temperatura.md
├── LICENSE
├── README.md
└── src
├── BasicoEstruturaSequencialEXE008
└── CalcularSalario.java
├── CartaoDeCredito
├── CartaoDeCredito.java
└── Main.java
├── Exercicio2Aquecimento
├── Candidato.java
├── Main.java
├── ServicoCandidato.java
└── Sistema.java
├── Exercicio3Aquecimento
├── Ingrediente.java
├── Main.java
├── Prato.java
├── ServicoPrato.java
└── Sistema.java
├── ExercicioDoisAquecimento
├── Candidato.java
├── Main.java
├── ServicoCandidato.java
└── Sistema.java
├── GerenciadorCandidatosVestibular
├── Candidato.java
├── Main.java
├── ServicoCandidato.java
└── Sistema.java
├── ModelagemClasseDesafio
├── Main.java
└── Pais.java
├── POO1_AQUECIMENTO_EXERCICIO1
├── Estabelecimento.java
├── Main.java
├── Produto.java
├── ServiceProduto.java
└── Sistema.java
├── POO1_Mod3_EXE2ContaBancaria
├── ContaBancaria.java
└── Main.java
└── br
└── com
└── zup
└── CartaoCredito
├── CartaoDeCredito.java
├── Main.java
└── Sistema.java
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
4 |
5 | ### Descrição
6 |
7 |
--------------------------------------------------------------------------------
/.github/workflows/add-reviewers.yml:
--------------------------------------------------------------------------------
1 | name: Add Reviewers
2 |
3 | on:
4 | pull_request:
5 |
6 | jobs:
7 | build:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Add Reviewers
11 | uses: madrapps/add-reviewers@v1
12 | with:
13 | token: ${{ secrets.GITHUB_TOKEN }}
14 | reviewers: GuillaumeFalourd
15 | re-request-when-approved: true
16 | re-request-when-changes-requested: true
17 |
--------------------------------------------------------------------------------
/.github/workflows/auto-assign.yml:
--------------------------------------------------------------------------------
1 | name: Auto Author Assign
2 |
3 | on:
4 | pull_request_target:
5 | types: [opened, reopened]
6 |
7 | permissions:
8 | pull-requests: write
9 |
10 | jobs:
11 | assign-author:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: toshimaru/auto-author-assign@v1.3.7
--------------------------------------------------------------------------------
/.github/workflows/first-interaction.yml:
--------------------------------------------------------------------------------
1 |
2 | name: First Interaction
3 |
4 | on:
5 | pull_request:
6 | issues:
7 | types: opened
8 |
9 | jobs:
10 | build:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/first-interaction@v1
14 | with:
15 | repo-token: ${{ secrets.GITHUB_TOKEN }}
16 | issue-message: "Thank you for opening this ISSUE. We'll give you a return ASAP 👍"
17 | pr-message: "Thank you for your contribution. We'll give you a return ASAP 👍"
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: 'Close stale issues and PR'
2 | on:
3 | schedule:
4 | - cron: '30 1 * * *'
5 |
6 | jobs:
7 | stale:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - uses: actions/stale@v4
11 | with:
12 | stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
13 | stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
14 | close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
15 | days-before-stale: 30
16 | days-before-close: 5
17 | days-before-pr-close: -1
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | out/
3 | Hacktoberfest.iml
4 | *.iml
5 | 1-POO1
6 | hacktoberquestão4.iml
7 |
8 |
--------------------------------------------------------------------------------
/0-BASICO/1-estrutura-sequencial.md:
--------------------------------------------------------------------------------
1 | # Estrutura Sequencial
2 |
3 | - Faça um programa que mostre a mensagem "Alô mundo" na tela.
4 |
5 | **Resolução:**
6 |
7 |
8 | Spoiler warning
9 |
10 | ```java
11 | System.out.print("Alô mundo");
12 | ```
13 |
14 |
15 | * * *
16 |
17 | - Faça um programa que exibe uma frase concatenada com a idade e o nome de um usuário (variáveis declaradas).
18 |
19 | **Resolução:**
20 |
21 |
22 | Spoiler warning
23 |
24 | ```java
25 | public static void main(String[] args) {
26 | int idade_do_usuario = 20;
27 | String nomeDoUsuario = "João";
28 |
29 | // Printando as variáveis declaradas
30 | System.out.print("Olá, meu nome é ");
31 | System.out.print(nomeDoUsuario);
32 | System.out.print(" e minha idade é ");
33 | System.out.print(idade_do_usuario);
34 | System.out.println(" anos");
35 |
36 | // Printando de forma concatenada as variáveis declaradas
37 | System.out.print("Olá, meu nome é " + nomeDoUsuario + " a minha idade é " + idade_do_usuario);
38 | }
39 | ```
40 |
41 |
42 | * * *
43 |
44 | - Faça um programa que exibe a soma e a substração de 2 números (variáveis declaradas).
45 |
46 | **Resolução:**
47 |
48 |
49 | Spoiler warning
50 |
51 | ```java
52 | public static void main(String[] args) {
53 | // Armazenar os valores em memória
54 | int numero1 = 20;
55 | int numero2 = 20;
56 |
57 | // Criando a operação de soma
58 | int resultadoDaSoma = numero1 + numero2;
59 |
60 | // Criando a operação de subtração
61 | int resultadoDaSubtracao = numero1 - numero2;
62 |
63 | // Exibindo a operação de soma para o usuário
64 | System.out.println("O resultado da soma é: "+resultadoDaSoma);
65 |
66 | // Exibindo a operação de subtração para o usuário
67 | System.out.println("O resultado da subtração é: "+resultadoDaSubtracao);
68 |
69 | }
70 | ```
71 |
72 |
73 | * * *
74 |
75 | - Faça um programa que receba 4 notas bimestrais e mostre a média aritmética.
76 |
77 | ```java
78 | TODO
79 | ```
80 |
81 | * * *
82 |
83 | - Faça um programa que converta metros para centímetros.
84 |
85 | ```java
86 | TODO
87 | ```
88 |
89 | * * *
90 |
91 | - Faça um Programa que recebe o quanto você ganha por hora e o número de
92 | horas trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês.
93 |
94 | **Resolução:**
95 |
96 |
97 | Spoiler warning
98 |
99 | ```java
100 | public static void main(String[] args) {
101 | // Armazenou os dois dados necessários para o processamento
102 | float qtdDeHorasTrabalhadas = 10;
103 | float salarioPorHora = 20;
104 |
105 | // Calcular o salário bruto
106 | float salarioBruto = qtdDeHorasTrabalhadas * salarioPorHora;
107 |
108 | System.out.println("Você trabalhou " +qtdDeHorasTrabalhadas
109 | + "Hrs, e você recebe R$" +salarioPorHora
110 | + " por hora");
111 |
112 | System.out.println("Portanto, seu salário este mês, será: R$"+salarioBruto);
113 | }
114 | ```
115 |
116 |
117 | * * *
118 |
119 | - Faça um programa que peça a temperatura em graus Fahrenheit, transforme e
120 | mostre a temperatura em graus Celsius.
121 |
122 | ```java
123 | TODO
124 | ```
125 |
126 | * * *
127 |
128 | - Faça um Programa que receba o quanto você ganha por hora e o número de
129 | horas trabalhadas no mês. Calcule e mostre o total do seu salário no referido
130 | mês, sabendo-se que são descontados 11% para o Imposto de Renda, 8% para o
131 | INSS e 5% para o sindicato, faça um programa que nos dê respectivamente:
132 | - Salário bruto.
133 | - Quanto pagou ao INSS.
134 | - Quanto pagou ao sindicato.
135 | - Qual o salário líquido do funcionário.
136 |
137 | **Resolução:**
138 |
139 |
140 | Spoiler warning
141 |
142 | ```java
143 | public static void main(String[] args) {
144 | Scanner leitor = new Scanner(System.in);
145 | double impostoDeRenda;
146 | double inss;
147 | double sindicato;
148 | double salarioLiquido;
149 |
150 | //Dados do salario BRuto
151 | System.out.println("Por favor digite seu salario por horas: ");
152 | double salarioPorHora = leitor.nextDouble();
153 | System.out.println("Por favor digite as horas trbalhadas: ");
154 | double horasTrabalhadas = leitor.nextDouble();
155 |
156 | //calculo de Salario Bruto
157 | double salarioBruto = salarioPorHora * horasTrabalhadas;
158 |
159 | //calcular descontos
160 | impostoDeRenda = salarioBruto * 0.11;
161 | inss = salarioBruto * 0.08;
162 | sindicato = salarioBruto * 0.05;
163 | double descontos = impostoDeRenda + inss + sindicato;
164 |
165 | //calcular salario liquido
166 | salarioLiquido = salarioBruto - descontos;
167 |
168 | //Folha de Pagamento
169 | System.out.println("===============================================");
170 | System.out.println(" Pagamento ");
171 | System.out.println("===============================================");
172 | System.out.println("Salario por hora: \t\t" + salarioPorHora);
173 | System.out.println("Horas trabalhadas: \t\t" + horasTrabalhadas);
174 | System.out.println("SALARIO BRUTO: \t\t" + salarioBruto);
175 | System.out.println("===============================================");
176 | System.out.println("DESCONTOS:");
177 | System.out.println("Imposto de Renda (11%): \t" + impostoDeRenda);
178 | System.out.println("INSS (8%): \t\t\t" + inss);
179 | System.out.println("Sindicato (5%): \t\t" + sindicato);
180 | System.out.println("TOTAL DESCONTOS: \t\t" + descontos);
181 | System.out.println("===============================================");
182 | System.out.println("SALARIO LIQUIDO: \t\t" + salarioLiquido);
183 | System.out.println("===============================================");
184 | }
185 | }
186 | ```
187 |
188 |
--------------------------------------------------------------------------------
/0-BASICO/2-estrutura-sequencial.md:
--------------------------------------------------------------------------------
1 | # Estrutura Sequencial
2 |
3 | - João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de São Paulo (50 quilos) deve pagar uma multa de R$ 4,00 por quilo excedente. João precisa que você faça um programa que leia a variável peso (peso de peixes) e calcule o excesso. Gravar na variável excesso a quantidade de quilos além do limite e na variável multa o valor da multa que João deverá pagar. Imprima os dados do programa com as mensagens adequadas.
4 |
5 | **Resolução:**
6 |
7 |
8 | Spoiler warning
9 |
10 | ```java
11 | import java.util.Scanner;
12 |
13 | public class Main {
14 | public static void main(String[] args) {
15 | double limitePeso = 50.0;
16 | double multaPorKg = 4.0;
17 | double excessoPeso = 0.0;
18 | double multa = 0.0;
19 |
20 | System.out.println("Digite o peso do peixe em quilogramas: ");
21 | Scanner scanner = new Scanner(System.in);
22 | double peso = scanner.nextDouble();
23 |
24 | if (peso > limitePeso) {
25 | excessoPeso = peso - limitePeso;
26 | multa = excessoPeso * multaPorKg;
27 |
28 | System.out.println("Você excedeu o limite de peso em: " + excessoPeso + " kg.");
29 | System.out.println("Você deve pagar: R$ " + multa + " em multas à lei de pesca de São Paulo.");
30 | } else if (peso > 0) {
31 | System.out.println("Você está dentro dos limites de peso. Nenhuma multa se aplica. Boa pescaria! 🎣");
32 | } else {
33 | System.out.println("Peso inválido! Não existem peixes negativos, existem? 🤔");
34 | }
35 | scanner.close();
36 | }
37 | }
38 | ```
39 |
40 |
41 |
42 | ---
43 |
44 | - Faça um programa para uma loja de tintas. O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. Considere que a cobertura da tinta é de 1 litro para cada 6 metros quadrados e que a tinta é vendida em latas de 18 litros, que custam R $80,00 ou em galões de 3,6 litros, que custam R $25,00.
45 | Informe ao usuário as quantidades de tinta a serem compradas e os respectivos preços em 3 situações:
46 | comprar apenas latas de 18 litros;
47 | comprar apenas galões de 3,6 litros;
48 |
49 | - BONUS: De forma que o desperdício de tinta seja menor. Acrescente 10% de folga e sempre arredonde os valores para cima, isto é, considere latas cheias.
50 |
51 | **Resolução:**
52 |
53 |
54 | Spoiler warning
55 |
56 | ```java
57 | import java.util.Scanner;
58 | import java.lang.Math;
59 |
60 | public class Main {
61 | public static void main(String[] args) {
62 | double tintaLitrosPreco = 80.0;
63 | double tintaGaloesPreco = 25.0;
64 | double tintaLitros = 18.0;
65 | double tintaGaloes = 3.6;
66 | Scanner scanner = new Scanner(System.in);
67 | double areaPintar = 0.0;
68 |
69 |
70 | try {
71 | System.out.println("Digite o tamanho em metros quadrados da área a ser pintada: ");
72 | areaPintar = scanner.nextDouble();
73 |
74 | if (areaPintar <= 0) {
75 | System.out.println("Por favor, digite um valor maior que zero.");
76 | return;
77 | }
78 |
79 | // 10% de folga
80 | double areaComFolga = areaPintar * 1.1;
81 | double litrosNecessarios = areaComFolga / 6;
82 |
83 | // Apenas latas
84 | int latasApenas = (int) Math.ceil(litrosNecessarios / tintaLitros);
85 | double custoLatas = latasApenas * tintaLitrosPreco;
86 |
87 | // Apenas galões
88 | int galoesApenas = (int) Math.ceil(litrosNecessarios / tintaGaloes);
89 | double custoGaloes = galoesApenas * tintaGaloesPreco;
90 |
91 | // Mistura para menor desperdício
92 | int latasMistura = (int) (litrosNecessarios / tintaLitros);
93 | double restante = litrosNecessarios - (latasMistura * tintaLitros);
94 | int galoesMistura = (int) Math.ceil(restante / tintaGaloes);
95 | double custoMistura = (latasMistura * tintaLitrosPreco) + (galoesMistura * tintaGaloesPreco);
96 |
97 | System.out.println("\n--- Resultado ---");
98 | System.out.printf("Área total com folga de 10%%: %.2f m*2\n", areaComFolga);
99 | System.out.printf("Litros necessários: %.2f L\n\n", litrosNecessarios);
100 |
101 | System.out.println("1. Comprar apenas latas de 18L:");
102 | System.out.printf(" %d lata(s) - R$ %.2f\n", latasApenas, custoLatas);
103 |
104 | System.out.println("2. Comprar apenas galões de 3.6L:");
105 | System.out.printf(" %d galão(ões) - R$ %.2f\n", galoesApenas, custoGaloes);
106 |
107 | System.out.println("3. Mistura (menor desperdício):");
108 | System.out.printf(" %d lata(s) e %d galão(ões) - R$ %.2f\n", latasMistura, galoesMistura, custoMistura);
109 |
110 | } catch (Exception e) {
111 | System.out.println("Entrada inválida. Por favor, digite um número válido.");
112 | }
113 |
114 | scanner.close();
115 |
116 |
117 | }
118 | }
119 | ```
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/0-BASICO/3-estrutura-de-decisao.md:
--------------------------------------------------------------------------------
1 | # Estrutura de Decisão
2 |
3 | - Faça um programa que receba dois números e imprima o maior deles.
4 |
5 | ```java
6 | TODO
7 | ```
8 |
9 | * * *
10 |
11 | - Faça um programa que receba o preço de três produtos e informe qual produto você deve comprar, sabendo que a decisão é sempre pelo mais barato.
12 |
13 | ```java
14 | TODO
15 | ```
16 |
17 | * * *
18 |
19 | - Faça um programa que receba duas notas parciais de um aluno. O programa deve calcular a média alcançada por aluno e apresentar:
20 | - A mensagem "Aprovado", se a média alcançada for maior ou igual a sete;
21 | - A mensagem "Reprovado", se a média for menor do que sete;
22 | - A mensagem "Aprovado com Distinção", se a média for igual a dez.
23 |
24 | ```java
25 | TODO
26 | ```
27 |
28 | * * *
29 |
30 | - Os gestores da sua emprsa resolveram dar um aumento de salário aos seus colaboradores e lhe contrataram para desenvolver o programa que calcula os reajustes. Portanto, faça um programa que recebe o salário de um colaborador e o reajuste segundo o seguinte critério, baseado no salário atual:
31 | - Salários até R$ 280,00 (incluindo), receberão aumento de 20%
32 | - Salários entre R$ 280,00 e R$ 700,00 (incluindo), receberão aumento de 15%
33 | - Salários entre R$ 700,00 e R$ 1500,00 (incluindo), receberão aumento de 10%
34 | - Salários de R$ 1500,00 em diante, receberão aumento de 5%
35 | Após o aumento ser realizado, informe na tela:
36 | - O salário antes do reajuste;
37 | - O percentual de aumento aplicado;
38 | - O valor do aumento;
39 | - O novo salário, após o aumento;
40 |
41 | ```java
42 | TODO
43 | ```
44 |
45 | * * *
46 |
47 | - Faça um Programa que receba um número e exiba o dia correspondente da semana. (1-Domingo, 2- Segunda, etc.), se digitar outro valor deve aparecer a mensagem “valor inválido”.
48 |
49 | ```java
50 | TODO
51 | ```
52 |
--------------------------------------------------------------------------------
/0-BASICO/4-estrutura-de-decisao.md:
--------------------------------------------------------------------------------
1 | # Estrutura de Desição
2 |
3 | - Faça um programa para o cálculo de uma folha de pagamento, sabendo que os descontos são do Imposto de Renda, que depende do salário bruto (conforme tabela abaixo) e 10% para o INSS e que o FGTS corresponde a 11% do Salário Bruto, mas não é descontado (é a empresa que deposita). O Salário Líquido corresponde ao Salário Bruto menos os descontos. O programa deverá pedir ao usuário o valor da sua hora e a quantidade de horas trabalhadas no mês.
4 | Desconto do IR:
5 | - Salário Bruto até 900 (inclusive) - isento
6 | - Salário Bruto até 1500 (inclusive) - desconto de 5%
7 | - Salário Bruto até 2500 (inclusive) - desconto de 10%
8 | - Salário Bruto acima de 2500 - desconto de 20%
9 |
10 | Imprima na tela as informações, dispostas conforme o exemplo abaixo. No exemplo o valor da hora é 5 e a quantidade de hora é 220.
11 |
12 | ```java
13 | TODO
14 | ```
15 |
16 | * * *
17 |
18 | - Um posto está vendendo combustíveis com a seguinte tabela de descontos:
19 | Álcool:
20 | - até 20 litros, desconto de 3% por litro
21 | - acima de 20 litros, desconto de 5% por litro
22 | Gasolina:
23 | - até 20 litros, desconto de 4% por litro
24 | - acima de 20 litros, desconto de 6% por litro
25 |
26 | Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço do litro da gasolina é R$ 2,50 e o preço do litro do álcool é R$ 1,90.
27 |
28 | ```java
29 | TODO
30 | ```
31 |
32 | * * *
33 |
34 | - Faça um programa que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são:
35 | - "Telefonou para a vítima?"
36 | - "Esteve no local do crime?"
37 | - "Mora perto da vítima?"
38 | - "Devia para a vítima?"
39 | - "Já trabalhou com a vítima?"
40 |
41 | O programa deve no final emitir uma classificação sobre a participação da pessoa no crime. Se a pessoa responder positivamente a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ele será classificado como "Inocente".
42 |
43 | ```java
44 | TODO
45 | ```
46 |
--------------------------------------------------------------------------------
/0-BASICO/5-estrutura-de-repeticao.md:
--------------------------------------------------------------------------------
1 | # Estrutura de Repetição
2 |
3 | - Faça um programa que mostra na tela os números de 1 a 100.
4 |
5 | **Resolução:**
6 |
7 |
8 | Spoiler warning
9 |
10 | ```java
11 | public class EstruturaDeRepeticaoExercicio1 {
12 |
13 | public static void main(String[] args) {
14 |
15 | int contador = 1;
16 | while (contador <= 100){
17 | System.out.println(contador);
18 | contador++;
19 | }
20 | }
21 | }
22 | ```
23 |
24 |
25 |
26 | * * *
27 |
28 | - Faça um programa que mostra na tela os números de 100 a 1.
29 |
30 | **Resolução:**
31 |
32 |
33 | Spoiler warning
34 |
35 | ```java
36 | public class EstruturaDeRepeticaoExercicio2 {
37 |
38 | public static void main(String[] args) {
39 |
40 | int contador = 100;
41 | while (contador >= 1) {
42 | System.out.println(contador);
43 | contador--;
44 | }
45 | }
46 | }
47 | ```
48 |
49 |
50 |
51 | * * *
52 |
53 | - Faça um programa para ler 5 números e mostrar o resultado da soma desses números.
54 |
55 | ```java
56 | TODO
57 | ```
58 |
59 | * * *
60 |
61 | - Escreva, usando while, um programa para calcular a média de N números. O valor de N é dado pelo usuário.
62 |
63 |
64 | **Resolução:**
65 |
66 |
67 | Spoiler warning
68 |
69 | ```java
70 | public class EstruturaDeRepeticaoExercicio4 {
71 |
72 | public static void main(String[] args) {
73 | Scanner leitor = new Scanner(System.in);
74 |
75 | double media = 0;
76 | int contador = 1;
77 | double notaDoAluno ;
78 | int qtdDeNotas;
79 |
80 | System.out.println("Quantas notas deseja adicionar?");
81 | qtdDeNotas = leitor.nextInt();
82 |
83 | while (contador <= qtdDeNotas) {
84 | System.out.println("Digite sua nota " + contador + ": ");
85 | notaDoAluno = leitor.nextDouble();
86 | media += notaDoAluno / 4;
87 | contador++;
88 | }
89 | System.out.println(media);
90 | }
91 | }
92 | ```
93 |
94 |
95 |
96 | * * *
97 |
--------------------------------------------------------------------------------
/0-BASICO/6-estrutura-de-repeticao.md:
--------------------------------------------------------------------------------
1 | # Estrutura de Repetição
2 |
3 | - Faça um programa para ler uma quantidade de números (N) digitada pelo usuário e mostrar a quantidade de números pares desses números.
4 |
5 | ```java
6 | TODO
7 | ```
8 |
9 | * * *
10 |
11 | - Faça um programa para ler uma quantidade de números (N) digitada pelo usuário e mostrar a quantidade de números ímpares desses números.
12 |
13 | ```java
14 | TODO
15 | ```
16 |
17 | * * *
18 |
19 | - Faça um programa para ler uma quantidade de números (N) digitada pelo usuário e mostrar a quantidade de números pares e a quantidade de números ímpares desses números.
20 |
21 | ```java
22 | TODO
23 | ```
24 |
25 | * * *
26 |
27 | - **Bônus:** Faça um programa que receba um conjunto de N números (Digitado pelo usuário) e mostre:
28 | - O menor valor
29 | - O maior valor
30 | - A soma dos valores.
31 |
32 | ```java
33 | TODO
34 | ```
35 |
--------------------------------------------------------------------------------
/0-BASICO/7-estruturas.md:
--------------------------------------------------------------------------------
1 | # Estruturas
2 |
3 | - Faça um programa que pergunte o preço de três produtos e informe qual produto você deve comprar, sabendo que a decisão é sempre pelo mais barato.
4 |
5 | ```java
6 | TODO
7 | ```
8 |
9 | * * *
10 |
11 | - Faça um Programa que leia um número e exiba o dia correspondente da semana. (1-Domingo, 2- Segunda, etc.), se digitar outro valor deve aparecer valor inválido.
12 |
13 | ```java
14 | TODO
15 | ```
16 |
17 | * * *
18 |
19 | - Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual número ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo:
20 |
21 | **Exemplo:**
22 |
23 | ```
24 | Tabuada de 5:
25 | 5 x 1 = 5
26 | 5 x 2 = 10
27 | [...]
28 | 5 x 10 = 50
29 | ```
30 |
31 | **Resolução:**
32 |
33 |
34 | Spoiler warning
35 |
36 | ```java
37 | import java.util.Scanner;
38 |
39 | public class Main {
40 | public static void main(String[] args) {
41 | Scanner entradaDados = new Scanner(System.in);
42 | boolean continuar = true;
43 | int calculo = 0;
44 |
45 | while (continuar) {
46 | System.out.println("Escolha um número de 1 a 10 para ver a tabuada: ");
47 | int numero = entradaDados.nextInt();
48 | entradaDados.nextLine();
49 | if (numero < 1 | numero > 10) {
50 | System.out.println("Digite um número entre 1 e 10");
51 | } else {
52 | for (int i = 1; i < 11; i++) {
53 | calculo = i * numero;
54 | System.out.println(numero + " * " + i + " = " + calculo);
55 | }
56 | System.out.println("Deseja ver uma nova tabuada?");
57 | System.out.println("[1] - Sim\n[2] - Não");
58 | int opcao = entradaDados.nextInt();
59 |
60 | if (opcao == 1) {
61 | } else if (opcao == 2) {
62 | continuar = false;
63 | System.out.println("Até mais!");
64 | } else {
65 | System.out.println("Opção inválida!");
66 | }
67 | }
68 | }
69 | }
70 | }
71 | ```
72 |
73 |
74 |
75 | * * *
76 |
77 | - Os números primos possuem várias aplicações dentro da Computação, por exemplo na Criptografia. Um número primo é aquele que é divisível apenas por um e por ele mesmo. Faça um programa que peça um número inteiro e determine se ele é ou não um número primo.
78 |
79 | ```java
80 | TODO
81 | ```
82 |
83 | * * *
84 |
85 | - Faça um programa que leia 5 números e informe o maior número.
86 |
87 | ```java
88 | TODO
89 | ```
90 |
91 | * * *
92 |
93 | - Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50.
94 |
95 | ```java
96 | TODO
97 | ```
98 |
99 | * * *
100 |
101 | - Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles.
102 |
103 | ```java
104 | TODO
105 | ```
106 |
107 | * * *
108 |
109 | - Faça um Programa que leia uma lista de 5 números inteiros e mostre-os.
110 |
111 | ```java
112 | TODO
113 | ```
114 |
115 | * * *
116 |
117 | - Faça um Programa que leia uma lista de 10 números e mostre-os na ordem inversa.
118 |
119 | ```java
120 | TODO
121 | ```
122 |
123 | * * *
124 |
125 | - Faça um Programa que leia 4 notas, mostre as notas e a média na tela.
126 |
127 | ```java
128 | TODO
129 | ```
130 |
131 | * * *
132 |
133 | - Faça um Programa que leia 20 números e armazene-os numa lista. Armazene os números pares na lista PAR e os números ÍMPARES na lista ímpar. Imprima as três listas.
134 |
135 | ```java
136 | TODO
137 | ```
138 |
139 | * * *
140 |
141 | - Faça um Programa que leia uma lista de 5 números inteiros, mostre a soma, a multiplicação e os números.
142 |
143 | ```java
144 | TODO
145 | ```
146 |
147 | * * *
148 |
149 | - João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de São Paulo (50 quilos) deve pagar uma multa de R$4,00 por quilo excedente. João precisa que você faça um programa que leia a variável peso (peso de peixes) e calcule o excesso. Gravar na variável excesso a quantidade de quilos além do limite e na variável multa o valor da multa que João deverá pagar. Imprima os dados do programa com as mensagens adequadas.
150 |
151 | ```java
152 | TODO
153 | ```
154 |
155 | * * *
156 |
157 | - Escreva um programa que escreva na tela, de 1 até 100, de 1 em 1, 2 vezes. A primeira vez com "for" e a segunda com "while".
158 |
159 | ```java
160 | TODO
161 | ```
162 |
163 | * * *
164 |
165 | - Faça um programa que leia números inteiros e imprima sua média.
166 |
167 | ```java
168 | TODO
169 | ```
170 |
171 | * * *
172 |
173 | - Escreva um programa que leia 10 números e escreva o menor valor lido é o maior valor lido.
174 |
175 | ```java
176 | TODO
177 | ```
178 |
179 | * * *
180 |
181 | - Faça um programa que leia n números inteiros positivos e calcule a soma desses números.
182 |
183 | ```java
184 | TODO
185 | ```
186 |
187 | * * *
188 |
189 | - Escreva um programa que declare um inteiro, inicialize-o com 0, e incremente-o de 1000 em 1000, imprimindo seu valor na tela, até que seu valor seja 100000 (cem mil).
190 |
191 | ```java
192 | TODO
193 | ```
194 |
195 | * * *
196 |
197 | ## Bônus
198 |
199 | - Crie um programa para gerenciar uma lista de alunos, cada aluno tem nome, telefone e email. No final do programa deve ser exibido a lista de alunos cadastrados.
200 | - Entrega Mínima: O sistema permite, via terminal, inserir pelo menos 1 aluno em uma lista e retornar o mesmo na tela.
201 | - Entrega Média: O sistema permite adicionar mais de um aluno e apresenta um menu para decidir se deverá adicionar mais alunos ou encerrar o programa.
202 | - Entrega Máxima: O Sistema permite excluir um aluno usando como parâmetro o email e não permite inserir um aluno com o email repetido.
203 |
204 | ```java
205 | TODO
206 | ```
207 |
208 | * * *
209 |
210 | - Faça um programa que some os números ímpares contidos em um intervalo definido pelo usuário. O usuário define o valor inicial do intervalo e o valor final deste intervalo e o programa deve somar todos os números ímpares contidos neste intervalo. Caso o usuário digite um intervalo inválido (começando por um valor maior que o valor final) deve ser escrito uma mensagem de erro na tela, “Intervalo de valores inválido” e o programa termina.
211 |
212 | ```java
213 | TODO
214 | ```
215 |
--------------------------------------------------------------------------------
/0-BASICO/8-desafio.md:
--------------------------------------------------------------------------------
1 | # Desafio
2 |
3 | Crie um programa para gerenciar uma lista de funcionários de uma empresa,
4 | cada funcionário tem nome, telefone, email e CPF. No final do programa deve ser
5 | exibida a lista de funcionários cadastrados.
6 |
7 | - Entrega Mínima: O sistema permite, via terminal, inserir pelo menos 1 funcionário
8 | em uma lista e retornar o mesmo na tela.
9 |
10 | ```java
11 | TODO
12 | ```
13 |
14 | * * *
15 |
16 | - Entrega Média: O sistema permite adicionar mais de um funcionário e apresenta
17 | um menu para decidir se deverá:
18 | - Adicionar mais funcionários.
19 | - Exibir a lista de todos os funcionários cadastrados.
20 | - Encerrar o programa.
21 |
22 | ```java
23 | TODO
24 | ```
25 |
26 | * * *
27 |
28 | - Entrega Máxima: O Sistema permite excluir um funcionário usando como
29 | parâmetro o CPF e não permite inserir um funcionário com o CPF repetido.
30 |
31 | ```java
32 | TODO
33 | ```
34 |
35 | * * *
36 |
37 | Crie um programa para gerenciar uma lista de produtos de um estabelecimento, cada produto tem um nome e um preço. No final do programa, o usuário deve decidir se irá adicionar mais de um produto, exibir todos os produtos cadastrados ou excluir um produto pelo nome.
38 |
39 | ```java
40 | TODO
41 | ```
42 |
43 | Crie um programa para gerenciar uma lista de candidatos de um vestibular, cada candidato tem número de matrícula e uma nota. No final do programa, o usuário deve decidir se irá adicionar mais de um candidato, exibir todos os candidatos cadastrados ou excluir um candidato pelo número de matrícula.
44 |
45 | ```java
46 | TODO
47 | ```
48 |
--------------------------------------------------------------------------------
/0-BASICO/AULAS/aula-1-e-2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/0-BASICO/AULAS/aula-1-e-2.pdf
--------------------------------------------------------------------------------
/0-BASICO/AULAS/aula-3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/0-BASICO/AULAS/aula-3.pdf
--------------------------------------------------------------------------------
/0-BASICO/AULAS/aula-4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/0-BASICO/AULAS/aula-4.pdf
--------------------------------------------------------------------------------
/0-BASICO/AULAS/java-basico.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/0-BASICO/AULAS/java-basico.pdf
--------------------------------------------------------------------------------
/0-BASICO/README.md:
--------------------------------------------------------------------------------
1 | # Básico
2 |
3 | ## Conteúdos Relacionados
4 |
5 | - [Aula 1 e 2](https://github.com/GuillaumeFalourd/java-exercices/blob/main/BASICO/AULAS/aula-1-e-2.pdf)
6 | - [Aula 3](https://github.com/GuillaumeFalourd/java-exercices/blob/main/BASICO/AULAS/aula-3.pdf)
7 | - [Aula 4](https://github.com/GuillaumeFalourd/java-exercices/blob/main/BASICO/AULAS/aula-4.pdf)
8 | - [Java Básico](https://github.com/GuillaumeFalourd/java-exercices/blob/main/BASICO/AULAS/java-basico.pdf)
9 |
--------------------------------------------------------------------------------
/1-POO1/1-aquecimento.md:
--------------------------------------------------------------------------------
1 | # Aquecimento
2 |
3 | 1.Crie um programa para gerenciar uma lista de produtos de um estabelecimento, cada produto tem um nome e um preço. No final do programa, o usuário deve decidir se irá adicionar mais de um produto, exibir todos os produtos cadastrados ou excluir um produto pelo nome.
4 |
5 | [Resolução do exercício](https://github.com/GuillaumeFalourd/java-exercices/tree/Feature/ResolucaoExercicioAquecimento01/src/POO1_AQUECIMENTO_EXERCICIO1)
6 |
7 | * * *
8 |
9 | 2.Crie um programa para gerenciar uma lista de candidatos de um vestibular, cada candidato tem número de matrícula e uma nota. No final do programa, o usuário deve decidir se irá adicionar mais de um candidato, exibir todos os candidatos cadastrados ou excluir um candidato pelo número de matrícula.
10 |
11 |
12 | [Resolução do exercício](https://github.com/vanessalb08/java-exercices/tree/feature/gerenciarCandidatos/src/GerenciadorCandidatosVestibular)
13 |
14 | * * *
15 |
16 |
17 | 3.Crie um programa para gerenciar o cardápio de um restaurante. Cada prato tem um nome e pode conter diversos ingredientes. No final do programa, o usuário deve decidir se irá adicionar mais de um prato, exibir todos os pratos cadastrados ou excluir um prato pelo nome.
18 |
19 | [Resolução do exercício](https://github.com/M4r1-D3v/java-exercices/tree/ExercicioTresAquecimento/src/Exercicio3Aquecimento)
20 |
--------------------------------------------------------------------------------
/1-POO1/2-modelagem-de-classe.md:
--------------------------------------------------------------------------------
1 | # Modelagem de classe
2 |
3 | 1.Classe Bola: Crie uma classe que modele uma bola, toda bola contém uma circunferência, cor, marca e velocidade. Após a modelagem, instancie objetos diferentes no método main para testes.
4 |
5 | ```java
6 | TODO
7 | ```
8 |
9 | * * *
10 |
11 | 2.Classe Pessoa: Crie uma classe que modele uma pessoa, toda pessoa contém nome, idade, peso e altura. No construtor, o peso é opcional, com valor default (padrão) zero e os demais atributos são obrigatórios.
12 |
13 | ```java
14 | TODO
15 | ```
16 |
17 | * * *
18 |
19 | 3.Classe Conta Corrente: Crie uma classe para construir uma conta corrente. A classe deve possuir os seguintes atributos: número da conta, nome do correntista e saldo. No construtor, o saldo é opcional, com valor default (padrão) zero e os demais atributos são obrigatórios.
20 |
21 | ```java
22 | TODO
23 | ```
24 |
25 | * * *
26 |
27 | 4.Classe Carro: Crie uma classe para modelar um carro. Todo carro tem quantidade de portas, modelo, marca e potência. No construtor, a potência é opcional, com valor default (padrão) 2.0 e os demais atributos são obrigatórios.
28 |
29 | ```java
30 | TODO
31 | ```
32 |
33 | ## DESAFIO
34 |
35 | 1.Classe País: Crie uma classe que modele um país, contendo nome, extensão territorial e tamanho da população. No método main, crie uma lista chamada continente, onde teremos uma lista de países. Adicione 4 países na lista do continente (Países de sua escolha) e crie um menu para o usuário, que deverá decidir se vai listar os países do continente ou sair do programa.
36 |
37 | [Resolução do exercício](https://github.com/M4r1-D3v/java-exercices/tree/DesafioPaises)
38 |
--------------------------------------------------------------------------------
/1-POO1/3-modelagem-de-classe.md:
--------------------------------------------------------------------------------
1 | # Modelagem de classe
2 |
3 | 1.Crie uma classe que represente um carro, que tenha como características o nome, o peso, a fabricante, a cor e o valor do carro. Crie também o método darDesconto() que servirá para diminuir o preço do carro e o método pintar(), que será responsável por mudar a cor do carro. Crie um carro no seu programa principal, utilize os métodos criados e mostre na tela o preço e a cor do carro antes e depois da utilização dos métodos.
4 |
5 | ```java
6 | TODO
7 | ```
8 |
9 | * * *
10 |
11 | 2.Crie uma classe referente à uma conta bancária, que possui como atributos o seu número, saldo e o nome do correntista. Crie também o método saque() que serve para retirar o certo valor do saldo, o método depósito() que serve para adicionar um valor ao saldo e o método extrato() que serve para mostrar na tela o nome do correntista, o número da conta e o saldo. Crie um programa principal e demonstre a utilização dos métodos implementados.
12 |
13 | [Resolução Exercicio](https://github.com/dorayenCarrasquel/java-exercices/tree/feature/Modelagem_ContaBancaria/src/POO1_Mod3_EXE2ContaBancaria)
14 |
15 | * * *
16 |
17 | 3.Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um prédio. A classe deve armazenar o andar atual (térreo = 0), total de andares no prédio (desconsiderando o térreo), capacidade do elevador e quantas pessoas estão presentes nele. A classe deve também disponibilizar os seguintes métodos:
18 |
19 | - Entra : para acrescentar uma pessoa no elevador (só deve acrescentar se ainda houver espaço);
20 | - Sai : para remover uma pessoa do elevador (só deve remover se houver alguém dentro dele);
21 | - Sobe : para subir um andar (não deve subir se já estiver no último andar); - Desce : para descer um andar (não deve descer se já estiver no térreo);
22 |
23 | ```java
24 | TODO
25 | ```
26 |
27 | * * *
28 |
29 | 4.Crie uma classe que represente um cartão de crédito, que deve ter como atributos o seu limite, o saldo da fatura e nome do cliente. Crie também os métodos aumentaLimite(), diminuiLimite(), realizaCompra() que não deve permitir uma compra caso o limite tenha sido atingido e o imprimeFatura() que imprime na tela o
30 | valor da fatura.
31 |
32 | [Resolução do Exercicio 1](https://github.com/lurregiabarreto/java-exercices/tree/feature/CartaoCredito/src/br/com/zup/CartaoCredito)
33 |
34 | [Resolução do Exercicio 2](https://github.com/Raline1/java-exercices/tree/feature/modelarCartao/src/CartaoDeCredito)
35 |
--------------------------------------------------------------------------------
/1-POO1/4-encapsulamento.md:
--------------------------------------------------------------------------------
1 | # Encapsulamento
2 |
3 | - Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa.
4 |
5 | ```java
6 | TODO
7 | ```
8 |
9 | * * *
10 |
11 | - Crie uma classe Televisão e uma classe ControleRemoto que pode controlar o volume e trocar os canais da televisão. O controle de volume permite:
12 | - Aumentar ou diminuir a potência do volume de som em uma unidade de cada vez;
13 | - Aumentar e diminuir o número do canal em uma unidade;
14 | - Trocar para um canal indicado;
15 | - Consultar o valor do volume de som e o canal selecionado;
16 |
17 |
18 | ```java
19 | TODO
20 | ```
21 |
--------------------------------------------------------------------------------
/1-POO1/AULAS/Java e Orientação a Objetos I.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/1-POO1/AULAS/Java e Orientação a Objetos I.pdf
--------------------------------------------------------------------------------
/1-POO1/Herança/Classes/Admin.java:
--------------------------------------------------------------------------------
1 | package Classes;
2 |
3 | public class Admin extends Funcionario{
4 |
5 | private String funcaoAdmin;
6 | private String senioridade;
7 |
8 |
9 | public Admin() {
10 | super();
11 | }
12 |
13 | public Admin(String nome, String cpf, Integer numRegistro, String orgaoLotacao, Double salario, String funcAdministrativa, String senioridade) {
14 | super(nome, cpf, numRegistro, orgaoLotacao, salario);
15 | this.funcaoAdmin = funcAdministrativa;
16 | this.senioridade = senioridade;
17 | }
18 |
19 |
20 | public String getFuncAdministrativa() {
21 | return funcaoAdmin;
22 | }
23 |
24 |
25 | public void setFuncAdministrativa(String funcAdministrativa) {
26 | this.funcaoAdmin = funcAdministrativa;
27 | }
28 |
29 |
30 | public String getSenioridade() {
31 | return senioridade;
32 | }
33 |
34 |
35 | public void setSenioridade(String senioridade) {
36 | this.senioridade = senioridade;
37 | }
38 |
39 |
40 | public void aumentoSalario() {
41 | super.aumentoSalario();
42 | }
43 |
44 |
45 | }
46 |
47 |
48 |
--------------------------------------------------------------------------------
/1-POO1/Herança/Classes/Coordenador.java:
--------------------------------------------------------------------------------
1 | package Classes;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class Coordenador extends Funcionario {
7 |
8 | private String profSupervisionados;
9 |
10 | List prof = new ArrayList<>();
11 |
12 | public Coordenador(String nome, String cpf, Integer numRegistro, String orgaoLotacao, Double salario, String professoresSupervisionados) {
13 | super(nome, cpf, numRegistro, orgaoLotacao, salario);
14 | this.profSupervisionados = professoresSupervisionados;
15 | }
16 |
17 | public String getProfSupervisionados() {
18 | return profSupervisionados;
19 | }
20 |
21 | public void setProfSupervisionados(String professoresSupervisionados) {
22 | this.profSupervisionados = professoresSupervisionados;
23 | }
24 |
25 | @Override
26 | public void aumentoSalario() {
27 | this.salario *= 1.05;
28 | }
29 |
30 | public void adicionaProfessor(Professor professores) {
31 | if (prof.size() < 10) {
32 | prof.add(professores);
33 | } else {
34 | System.out.println("Limite de professor atingido.");
35 | }
36 |
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/1-POO1/Herança/Classes/Funcionario.java:
--------------------------------------------------------------------------------
1 | package Classes;
2 |
3 | public abstract class Funcionario {
4 |
5 | private String nome;
6 | private String cpf;
7 | private Integer numRegistro;
8 | private String orgaoLotacao;
9 | protected Double salario;
10 |
11 | public Funcionario() {
12 | }
13 |
14 | public Funcionario(String nome, String cpf, Integer numRegistro, String orgaoLotacao, Double salario) {
15 | this.nome = nome;
16 | this.cpf = cpf;
17 | this.numRegistro = numRegistro;
18 | this.orgaoLotacao = orgaoLotacao;
19 | this.salario = salario;
20 | }
21 |
22 | public String getNome() {
23 | return nome;
24 | }
25 |
26 | public void setNome(String nome) {
27 | this.nome = nome;
28 | }
29 |
30 | public String getCpf() {
31 | return cpf;
32 | }
33 |
34 | public void setCpf(String cpf) {
35 | this.cpf = cpf;
36 | }
37 |
38 | public Integer getNumRegistro() {
39 | return numRegistro;
40 | }
41 |
42 | public void setNumRegistro(Integer numeroRegistro) {
43 | this.numRegistro = numeroRegistro;
44 | }
45 |
46 | public String getOrgaoLotacao() {
47 | return orgaoLotacao;
48 | }
49 |
50 | public void setOrgaoLotacao(String orgaoLotacao) {
51 | this.orgaoLotacao = orgaoLotacao;
52 | }
53 |
54 | public Double getSalario() {
55 | return salario;
56 | }
57 |
58 | public void setSalario(Double salario) {
59 | this.salario = salario;
60 | }
61 |
62 | public void aumentoSalario() {
63 | this.salario *= 1.10;
64 | }
65 |
66 | }
--------------------------------------------------------------------------------
/1-POO1/Herança/Classes/Professor.java:
--------------------------------------------------------------------------------
1 | package Classes;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class Professor extends Funcionario {
7 |
8 | private String nivelGraduacao;
9 | private String diciplinaMinistra;
10 | private Integer quantAlunos;
11 | private Integer quantTurmas;
12 |
13 | List lista = new ArrayList<>();
14 |
15 | public Professor() {
16 | super();
17 | }
18 |
19 | public Professor(String nome, String cpf, Integer numRegistro, String orgaoLotacao, Double salario, String nivelGraduação, String diciplinaMinistra, Integer quantAlunos, Integer quantTurmas) {
20 | super(nome, cpf, numRegistro, orgaoLotacao, salario);
21 | this.nivelGraduacao = nivelGraduação;
22 | this.diciplinaMinistra = diciplinaMinistra;
23 | this.quantAlunos = quantAlunos;
24 | this.quantTurmas = quantTurmas;
25 | }
26 |
27 | public String getNivelGraduacao() {
28 | return nivelGraduacao;
29 | }
30 |
31 | public void setNivelGraduacao(String nivelGraduacao) {
32 | this.nivelGraduacao = nivelGraduacao;
33 | }
34 |
35 | public String getDiciplinaMinistra() {
36 | return diciplinaMinistra;
37 | }
38 |
39 | public void setDiciplinaMinistra(String diciplinaMinistra) {
40 | this.diciplinaMinistra = diciplinaMinistra;
41 | }
42 |
43 | public Integer getQuantAlunos() {
44 | return quantAlunos;
45 | }
46 |
47 | public void setQuantAlunos(Integer quantAlunos) {
48 | this.quantAlunos = quantAlunos;
49 | }
50 |
51 | public Integer getQuantTurmas() {
52 | return quantTurmas;
53 | }
54 |
55 | public void setQuantTurmas(Integer quantTurmas) {
56 | this.quantTurmas = quantTurmas;
57 | }
58 |
59 |
60 | public void aumentoSalario() {
61 | super.aumentoSalario();
62 | }
63 |
64 | public void adicionaTurma(Turma turma ) {
65 | lista.add(turma);
66 | this.quantTurmas++;
67 | this.quantAlunos += turma.getNumeroDeAlunos();
68 |
69 |
70 | }
71 |
72 | }
73 |
--------------------------------------------------------------------------------
/1-POO1/Herança/Classes/Turma.java:
--------------------------------------------------------------------------------
1 | package Classes;
2 |
3 | public class Turma {
4 |
5 | private Integer numeroDeAlunos;
6 |
7 | public Turma(Integer numerodeAlunos) {
8 | this.numeroDeAlunos = numerodeAlunos;
9 | }
10 |
11 | public Integer getNumeroDeAlunos() {
12 | return numeroDeAlunos;
13 | }
14 |
15 | public void setNumeroDeAlunos(Integer numeroDeAlunos) {
16 | this.numeroDeAlunos = numeroDeAlunos;
17 | }
18 |
19 |
20 |
21 |
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/1-POO1/Herança/enunciado.md:
--------------------------------------------------------------------------------
1 | # Enunciado
2 |
3 | Modele as classes referentes aos funcionários de uma universidade, que serão os professores, coordenadores e funcionários administrativos.
4 |
5 | Os atributos comuns de todos os funcionários são: Nome, CPF, número de registro, órgão de lotação e salário.
6 |
7 | Os professores possuem os atributos: Nível de graduação, disciplina ministrada , quantidade de alunos e quantidade de turmas.
8 |
9 | Os coordenadores possuem os atributos: ProfessoresSupervisionados
10 |
11 | Os funcionários administrativos possuem os atributos: Função Administrativa e Senioridade.
12 |
13 | Implemente, além dos getters e setters e os construtores, os seguintes métodos:
14 |
15 | - aumentoSalario: para todos menos os coordenadores aumenta o salário em 10% e para os coordenadores o aumento é de 5%.
16 | - adicionaTurma: para os professores.
17 | - adicionaProfessor (para os coordenadores): Para adicionar um professor na lista de professores supervisionados.
18 |
19 | ## DESAFIO
20 |
21 | - Crie uma classe turma, que se tornará uma caraterística dos professores por meio de composição
22 | - Limite a quantidade de professores supervisionados na classe coordenador.
23 |
--------------------------------------------------------------------------------
/2-POO2/AULAS/Java e Orientação a Objetos II.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/2-POO2/AULAS/Java e Orientação a Objetos II.pdf
--------------------------------------------------------------------------------
/2-POO2/AULAS/aula-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/2-POO2/AULAS/aula-1.pdf
--------------------------------------------------------------------------------
/2-POO2/AULAS/aula-2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/2-POO2/AULAS/aula-2.pdf
--------------------------------------------------------------------------------
/2-POO2/AULAS/aula-3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GuillaumeFalourd/java-exercices/e5a845c24d1e16a197a79047d3ced9cd406c14b5/2-POO2/AULAS/aula-3.pdf
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | guillaume.falourd@zup.com.br.
64 | All complaints will be reviewed and investigated promptly and fairly.
65 |
66 | All community leaders are obligated to respect the privacy and security of the
67 | reporter of any incident.
68 |
69 | ## Enforcement Guidelines
70 |
71 | Community leaders will follow these Community Impact Guidelines in determining
72 | the consequences for any action they deem in violation of this Code of Conduct:
73 |
74 | ### 1. Correction
75 |
76 | **Community Impact**: Use of inappropriate language or other behavior deemed
77 | unprofessional or unwelcome in the community.
78 |
79 | **Consequence**: A private, written warning from community leaders, providing
80 | clarity around the nature of the violation and an explanation of why the
81 | behavior was inappropriate. A public apology may be requested.
82 |
83 | ### 2. Warning
84 |
85 | **Community Impact**: A violation through a single incident or series
86 | of actions.
87 |
88 | **Consequence**: A warning with consequences for continued behavior. No
89 | interaction with the people involved, including unsolicited interaction with
90 | those enforcing the Code of Conduct, for a specified period of time. This
91 | includes avoiding interactions in community spaces as well as external channels
92 | like social media. Violating these terms may lead to a temporary or
93 | permanent ban.
94 |
95 | ### 3. Temporary Ban
96 |
97 | **Community Impact**: A serious violation of community standards, including
98 | sustained inappropriate behavior.
99 |
100 | **Consequence**: A temporary ban from any sort of interaction or public
101 | communication with the community for a specified period of time. No public or
102 | private interaction with the people involved, including unsolicited interaction
103 | with those enforcing the Code of Conduct, is allowed during this period.
104 | Violating these terms may lead to a permanent ban.
105 |
106 | ### 4. Permanent Ban
107 |
108 | **Community Impact**: Demonstrating a pattern of violation of community
109 | standards, including sustained inappropriate behavior, harassment of an
110 | individual, or aggression toward or disparagement of classes of individuals.
111 |
112 | **Consequence**: A permanent ban from any sort of public interaction within
113 | the community.
114 |
115 | ## Attribution
116 |
117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118 | version 2.0, available at
119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120 |
121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct
122 | enforcement ladder](https://github.com/mozilla/diversity).
123 |
124 | [homepage]: https://www.contributor-covenant.org
125 |
126 | For answers to common questions about this code of conduct, see the FAQ at
127 | https://www.contributor-covenant.org/faq. Translations are available at
128 | https://www.contributor-covenant.org/translations.
129 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribuir
2 |
3 | ## Adicionar novos conteúdos no projeto
4 |
5 | **Sempre** baseie seu trabalho no branch `main` do projeto, nomeando sua nova _branch_ de acordo com o seguinte guia:
6 |
7 | 
8 |
9 | **Exemplos: `feature/name` or `fix/name`**
10 |
11 | ## Guias
12 |
13 | - Abra uma nova issue em **português** para informar qual exercício você gostaria de resolver (_confere primeiro que ninguém escolheu esse exercício antes_).
14 |
15 | - Os conteúdos escritos devem ser adicionados em **português**.
16 |
17 | - Abra uma _Pull Request_ por mudança (exemplo: sugestão de resolução _(TODO)_, adição de novo exercício, ou melhoria de um exercício).
18 |
19 | - Descreve as mudanças realizadas na _Pull Request_.
20 |
21 | - Quando tiver varios exercícios na mesma página, por favor, use o **spoiler** no arquivo Markdown (.md) para mostrar a resolução. [Poderão encontrar um exemplo aqui](https://gist.github.com/GuillaumeFalourd/9305b6372bc1ff7855004dcc83b6ff1d).
22 |
23 |
24 | ## Hacktoberfest [2021](https://hacktoberfest.digitalocean.com/?mkt_tok=MTEzLURUTi0yNjYAAAF_aezFqxkovZOmqb7afzTaFagFsG_4qSP84UeArzlcZBsmpwW6yiDQfa0-3tJGdR9r0qDVs0dbsWV9ZM9beINRTjAdlKL39k2G3UuwkFPY)
25 |
26 | - Não serão aceitas mais de 4 _Pull Request_ da mesma conta durante o evento (as demais serão consideradas como _invalid_).
27 |
--------------------------------------------------------------------------------
/EXTRAS/Media.md:
--------------------------------------------------------------------------------
1 | # Media
2 |
3 | ## Enunciado
4 |
5 | Programa que calcule a média de salários de uma empresa, pedindo ao usuário a grade de funcionários e os salários em JOptionPane e devolvendo a média.
6 |
7 | * * *
8 |
9 | ## Possivel Resolução
10 |
11 | ```java
12 | package exercicios;
13 |
14 | import java.util.Scanner;
15 |
16 | public class Media {
17 | public static void main(String[] args) {
18 |
19 | int quantidadeFuncionarios = 0;
20 | float salarioFuncionario = 0;
21 | float totalSalarios = 0;
22 | float mediaSalarial = 0;
23 | //variável contadora para laço
24 | int contadora = 0;
25 |
26 | Scanner entrada = new Scanner(System.in);
27 |
28 | System.out.println("Digite a quantidade de funcionários:");
29 | quantidadeFuncionarios = entrada.nextInt();
30 |
31 | while (contadora < quantidadeFuncionarios){
32 | contadora++;
33 | System.out.println("Digite o salário do funcionário:");
34 | salarioFuncionario = entrada.nextFloat();
35 | totalSalarios = totalSalarios + salarioFuncionario;
36 | }
37 |
38 | mediaSalarial = totalSalarios / quantidadeFuncionarios;
39 | System.out.println("Média Salarial = " + mediaSalarial);
40 |
41 | System.exit(0);
42 | }
43 | }
44 | ```
45 |
--------------------------------------------------------------------------------
/EXTRAS/Temperatura.md:
--------------------------------------------------------------------------------
1 | # Temperatura
2 |
3 | ## Enunciado
4 |
5 | Escreva um programa que, com base em uma temperatura em graus celsius, a converta e exiba em Kelvin (K), Réaumur (Re), Rankine (Ra) e Fahrenheit (F), seguindo as fórmulas:
6 | - F = C * 1.8 + 32
7 | - K = C + 273.15
8 | - Re = C * 0.8
9 | - Ra = C * 1.8 + 32 + 459.67
10 |
11 | * * *
12 |
13 | ## Possivel Resolução
14 |
15 | ```java
16 | package exercicios;
17 |
18 | public class Temperatura {
19 | public static void main(String[] args) {
20 | double C, K, F, Re, Ra;
21 | C = 2.43;
22 |
23 | F = C * 1.8 + 32;
24 | K = C + 273.15;
25 | Ra = C * 1.8 + 32 + 459.67;
26 | Re = C * 0.8;
27 |
28 | System.out.println("A temperatura em Fahrenheit é: " + F);
29 | System.out.println("A temperatura em Kelvin é: " + K);
30 | System.out.println("A temperatura em Reaumur é: " + Ra);
31 | System.out.println("A temperatura em Rankine é: " + Re);
32 | }
33 | }
34 | ```
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | http://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | APPENDIX: How to apply the Apache License to your work.
180 |
181 | To apply the Apache License to your work, attach the following
182 | boilerplate notice, with the fields enclosed by brackets "[]"
183 | replaced with your own identifying information. (Don't include
184 | the brackets!) The text should be enclosed in the appropriate
185 | comment syntax for the file format. We also recommend that a
186 | file or class name and description of purpose be included on the
187 | same "printed page" as the copyright notice for easier
188 | identification within third-party archives.
189 |
190 | Copyright 2021 Guillaume Falourd
191 |
192 | Licensed under the Apache License, Version 2.0 (the "License");
193 | you may not use this file except in compliance with the License.
194 | You may obtain a copy of the License at
195 |
196 | http://www.apache.org/licenses/LICENSE-2.0
197 |
198 | Unless required by applicable law or agreed to in writing, software
199 | distributed under the License is distributed on an "AS IS" BASIS,
200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 | See the License for the specific language governing permissions and
202 | limitations under the License.
203 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Java Exercices
2 |
3 | Esse repositório disponibiliza exercícios em Java para iniciantes, encontrados online ou criados pelos contribuidores.
4 |
5 | ## Exercicios
6 |
7 | - [Básico](https://github.com/GuillaumeFalourd/java-exercices/tree/main/0-BASICO)
8 | - Aulas
9 | - [Aulas 1 e 2](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/AULAS/aula-1-e-2.pdf)
10 | - [Aula 3](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/AULAS/aula-3.pdf)
11 | - [Aula 4](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/AULAS/aula-4.pdf)
12 | - [Java Básico](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/AULAS/java-basico.pdf)
13 | - Estrutura Sequencial
14 | - [Lista 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/1-estrutura-sequencial.md)
15 | - [Lista 2](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/2-estrutura-sequencial.md)
16 | - Estrutura de Decisão
17 | - [Lista 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/3-estrutura-de-decisao.md)
18 | - [Lista 2](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/4-estrutura-de-decisao.md)
19 | - Estrutura de Repetição
20 | - [Lista 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/5-estrutura-de-repeticao.md)
21 | - [Lista 2](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/6-estrutura-de-repeticao.md)
22 | - Resumo
23 | - [Lista 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/7-estruturas.md)
24 | - [Desafio](https://github.com/GuillaumeFalourd/java-exercices/blob/main/0-BASICO/8-desafio.md)
25 | - [Programação Orientada a Objetos 1](https://github.com/GuillaumeFalourd/java-exercices/tree/main/1-POO1)
26 | - Aulas
27 | - [Java e Orientação a Objetos 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/1-POO1/AULAS/Java%20e%20Orienta%C3%A7%C3%A3o%20a%20Objetos%20I.pdf)
28 | - Herança
29 | - [Exercício 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/1-POO1/Heran%C3%A7a/enunciado.md)
30 | - Exercícios
31 | - [Aquecimento](https://github.com/GuillaumeFalourd/java-exercices/blob/main/1-POO1/1-aquecimento.md)
32 | - [Modelagem de classe 1](https://github.com/GuillaumeFalourd/java-exercices/blob/main/1-POO1/2-modelagem-de-classe.md)
33 | - [Modelagem de classe 2](https://github.com/GuillaumeFalourd/java-exercices/blob/main/1-POO1/3-modelagem-de-classe.md)
34 | - [Encapsulamento](https://github.com/GuillaumeFalourd/java-exercices/blob/main/1-POO1/4-encapsulamento.md)
35 |
36 | ## Fontes
37 |
38 | - https://dev.to/guilhermemanzano/lista-de-exercicios-basicos-em-java-parte-1-5f0l
39 | - https://www.devmedia.com.br/forum/exercicios-de-java-basico-para-treino-com-resposta/564616
40 |
41 | ## Como Contribuir?
42 |
43 | - [Guias para contribuição](https://github.com/GuillaumeFalourd/java-exercices/blob/main/CONTRIBUTING.md)
44 |
45 | ### Contribuidores
46 |
47 |
48 |
49 |
50 |
51 | (Criado com [contributors-img](https://contrib.rocks))
52 |
--------------------------------------------------------------------------------
/src/BasicoEstruturaSequencialEXE008/CalcularSalario.java:
--------------------------------------------------------------------------------
1 | package BasicoEstruturaSequencialEXE008;
2 |
3 | import java.util.Scanner;
4 |
5 | public class CalcularSalario {
6 | public static void main(String[] args) {
7 | Scanner leitor = new Scanner(System.in);
8 | double impostoDeRenda;
9 | double inss;
10 | double sindicato;
11 | double salarioLiquido;
12 |
13 | //Dados do salario BRuto
14 | System.out.println("Por favor digite seu salario por horas: ");
15 | double salarioPorHora = leitor.nextDouble();
16 | System.out.println("Por favor digite as horas trbalhadas: ");
17 | double horasTrabalhadas = leitor.nextDouble();
18 |
19 | //calculo de Salario Bruto
20 | double salarioBruto = salarioPorHora * horasTrabalhadas;
21 |
22 | //calcular descontos
23 | impostoDeRenda = salarioBruto * 0.11;
24 | inss = salarioBruto * 0.08;
25 | sindicato = salarioBruto * 0.05;
26 | double descontos = impostoDeRenda + inss + sindicato;
27 |
28 | //calcular salario liquido
29 | salarioLiquido = salarioBruto - descontos;
30 |
31 | //Folha de Pagamento
32 | System.out.println("===============================================");
33 | System.out.println(" Pagamento ");
34 | System.out.println("===============================================");
35 | System.out.println("Salario por hora: \t\t" + salarioPorHora);
36 | System.out.println("Horas trabalhadas: \t\t" + horasTrabalhadas);
37 | System.out.println("SALARIO BRUTO: \t\t" + salarioBruto);
38 | System.out.println("===============================================");
39 | System.out.println("DESCONTOS:");
40 | System.out.println("Imposto de Renda (11%): \t" + impostoDeRenda);
41 | System.out.println("INSS (8%): \t\t\t" + inss);
42 | System.out.println("Sindicato (5%): \t\t" + sindicato);
43 | System.out.println("TOTAL DESCONTOS: \t\t" + descontos);
44 | System.out.println("===============================================");
45 | System.out.println("SALARIO LIQUIDO: \t\t" + salarioLiquido);
46 | System.out.println("===============================================");
47 |
48 |
49 | }
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/src/CartaoDeCredito/CartaoDeCredito.java:
--------------------------------------------------------------------------------
1 | package CartaoDeCredito;
2 |
3 | //classe cartao e seus atributos
4 | public class CartaoDeCredito {
5 | String nomeCliente;
6 | double limite;
7 | double saldoFatura;
8 |
9 | // método construtor sem parâmetro
10 | public CartaoDeCredito() {
11 |
12 | }
13 |
14 | // método construtor com parâmetro
15 | public CartaoDeCredito(String nomeCliente, double limite, double saldoFatura) {
16 | this.nomeCliente = nomeCliente;
17 | this.limite = limite;
18 | this.saldoFatura = saldoFatura;
19 | }
20 |
21 | //método aumentar limite
22 | public void aumentarLimite(double maisLimite) {
23 | limite = limite + maisLimite;
24 |
25 | }
26 |
27 | //método diminuir limite
28 | public void diminuirLimite(double menosLimite) {
29 | limite = limite - menosLimite;
30 | }
31 |
32 | //Ao realizar uma compra, diminui o limite e a altera o saldo da fatura
33 | public void realizarCompra(double novaCompra) {
34 | if (novaCompra <= limite) {
35 | limite = limite - novaCompra;
36 | saldoFatura = saldoFatura + novaCompra;
37 | } else {
38 | System.out.println("Limite insuficiente!");
39 | }
40 | }
41 |
42 | //Exibe a fatura
43 | @Override
44 | public String toString() {
45 | StringBuilder extratoFatura = new StringBuilder();
46 | extratoFatura.append("\t");
47 | extratoFatura.append("\nLimite atual R$: " + limite);
48 | extratoFatura.append("\nValor da sua fatura R$: " + saldoFatura);
49 | return extratoFatura.toString();
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/CartaoDeCredito/Main.java:
--------------------------------------------------------------------------------
1 | package CartaoDeCredito;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 |
6 | CartaoDeCredito cartao = new CartaoDeCredito("João Pedro",500,300);
7 |
8 | cartao.aumentarLimite(500);
9 | System.out.println(cartao);
10 |
11 | cartao.diminuirLimite(100);
12 | System.out.println(cartao);
13 |
14 | cartao.realizarCompra(200);
15 | System.out.println(cartao);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Exercicio2Aquecimento/Candidato.java:
--------------------------------------------------------------------------------
1 | package Exercicio2Aquecimento;
2 |
3 | public class Candidato {
4 | private String nome;
5 | private String numeroMatricula;
6 | private double nota;
7 |
8 | public Candidato() {
9 | }
10 |
11 | public Candidato(String nome, String numeroMatricula, double nota) {
12 | this.nome = nome;
13 | this.numeroMatricula = numeroMatricula;
14 | this.nota = nota;
15 | }
16 |
17 | public String getNome() {
18 | return nome;
19 | }
20 |
21 | public void setNome(String nome) {
22 | this.nome = nome;
23 | }
24 |
25 | public String getNumeroMatricula() {
26 | return numeroMatricula;
27 | }
28 |
29 | public void setNumeroMatricula(String numeroMatricula) {
30 | this.numeroMatricula = numeroMatricula;
31 | }
32 |
33 | public double getNota() {
34 | return nota;
35 | }
36 |
37 | public void setNota(double nota) {
38 | this.nota = nota;
39 | }
40 |
41 | @Override
42 | public String toString() {
43 | StringBuilder retorno = new StringBuilder();
44 | retorno.append("\n Nome: " + nome);
45 | retorno.append("\n Número de matrícula: " + numeroMatricula);
46 | retorno.append("\n Nota: " + nota);
47 | return retorno.toString();
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/Exercicio2Aquecimento/Main.java:
--------------------------------------------------------------------------------
1 | package Exercicio2Aquecimento;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 | Sistema.executar();
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/Exercicio2Aquecimento/ServicoCandidato.java:
--------------------------------------------------------------------------------
1 | package Exercicio2Aquecimento;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class ServicoCandidato {
7 | private static List candidatos = new ArrayList<>();
8 |
9 | public ServicoCandidato(List candidatos) {
10 | this.candidatos = candidatos;
11 | }
12 |
13 | public List getCandidatos() {
14 | return candidatos;
15 | }
16 |
17 | public void setCandidatos(List candidatos) {
18 | this.candidatos = candidatos;
19 | }
20 |
21 | //método para adicionar um candidato
22 |
23 | public static Candidato adicionarCandidato(String nome, String numeroMatricula, double nota) {
24 | Candidato candidato = new Candidato(nome, numeroMatricula, nota);
25 | candidatos.add(candidato);
26 | return candidato;
27 | }
28 |
29 | // método para listar os candidados
30 |
31 | public static void listarCandidatos() {
32 | for (Candidato candidatoReferencia : candidatos) {
33 | System.out.println("\n" + candidatoReferencia);
34 | }
35 | }
36 |
37 | // método para excluir candidatos a partir do número de matrícula fornecido
38 |
39 | public static void excluirCandidato(String numeroMatricula) {
40 | Candidato candidatoExcluido = null;
41 | for (Candidato candidatoReferencia : candidatos) {
42 | if (candidatoReferencia.getNumeroMatricula().equals(numeroMatricula)) {
43 | candidatoExcluido = candidatoReferencia;
44 | }
45 | }
46 | candidatos.remove(candidatoExcluido);
47 | }
48 |
49 | @Override
50 | public String toString() {
51 | StringBuilder retorno = new StringBuilder();
52 | retorno.append("Candidatos: " + candidatos);
53 | return retorno.toString();
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Exercicio2Aquecimento/Sistema.java:
--------------------------------------------------------------------------------
1 | package Exercicio2Aquecimento;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Sistema {
6 |
7 | //método para a entrada de dados
8 |
9 | private static Scanner entradaDados(String mensagem) {
10 | System.out.println(mensagem);
11 | return new Scanner(System.in);
12 |
13 | }
14 |
15 | //método para receber a entrada de dados no cadastro de candidatos:
16 |
17 | public static Candidato adicionarCandidato() {
18 | String nome = entradaDados("Por favor digite o nome do candidato: ").nextLine();
19 | String numeroMatricula = entradaDados("Por favor, digite o número de matrícula do candidato: ").nextLine();
20 | double nota = entradaDados("Por favor, digite a nota do candidato: ").nextDouble();
21 | return ServicoCandidato.adicionarCandidato(nome, numeroMatricula, nota);
22 | }
23 |
24 |
25 | //método para receber a entrada de dados do método excluirCandidato
26 | public static void excluirCandidato() {
27 | String numeroMatricula = entradaDados("Por favor, digite o número de matrícula do candidato que deseja excluir: ").nextLine();
28 | ServicoCandidato.excluirCandidato(numeroMatricula);
29 | }
30 |
31 | //método para exibir as opções do menu
32 | public static void menu() {
33 | System.out.println("\n ");
34 | System.out.println("-------------------------------------------------------------------------------");
35 | System.out.println("Olá, seja bem vinde ao sistema de gerenciamento de candidatos < Pagou, pa$$ou >");
36 | System.out.println("-------------------------------------------------------------------------------");
37 | System.out.println("\n ");
38 | System.out.println("Para adicionar um candidato, por favor digite [1]");
39 | System.out.println("Para exibir os candidatos cadastrados, por favor digite [2]");
40 | System.out.println("Para excluir um candidato, por favor digite [3]");
41 | System.out.println("Para sair do sistema, por favor digite [4]");
42 | }
43 |
44 | //método para executar o programa completo
45 |
46 | public static boolean executar(){
47 | boolean operarMenu = true;
48 | while (operarMenu){
49 | menu();
50 | int escolhaUsuario = entradaDados("Por favor digite a opção desejada: ").nextInt();
51 | if (escolhaUsuario == 1){
52 | Candidato candidato = new Candidato();
53 | candidato = adicionarCandidato();
54 | }else if (escolhaUsuario == 2){
55 | System.out.println("------------------------");
56 | System.out.println("Candidatos cadastrados: ");
57 | System.out.println("------------------------");
58 | ServicoCandidato.listarCandidatos();
59 | }else if (escolhaUsuario == 3){
60 | String numeroMatricula = entradaDados("Por favor digite o número de matrícula do candidato:").nextLine();
61 | ServicoCandidato.excluirCandidato(numeroMatricula);
62 | System.out.println("Candidato excluído com sucesso!");
63 | }else if (escolhaUsuario == 4){
64 | System.out.println("Obrigade e até a próxima!");
65 | operarMenu = false;
66 | }else{
67 | System.out.println("Ops, opção inválida! Tente outra vez =)");
68 | }
69 | }
70 | return operarMenu;
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/Exercicio3Aquecimento/Ingrediente.java:
--------------------------------------------------------------------------------
1 | package Exercicio3Aquecimento;
2 |
3 | public class Ingrediente {
4 | private String nome;
5 |
6 | public Ingrediente(String nome) {
7 | this.nome = nome;
8 | }
9 |
10 | public String getNome() {
11 | return nome;
12 | }
13 |
14 | public void setNome(String nome) {
15 | this.nome = nome;
16 | }
17 |
18 | @Override
19 | public String toString() {
20 | StringBuilder retorno = new StringBuilder();
21 | retorno.append( nome);
22 | return retorno.toString();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Exercicio3Aquecimento/Main.java:
--------------------------------------------------------------------------------
1 | package Exercicio3Aquecimento;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 | Sistema.executar();
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/Exercicio3Aquecimento/Prato.java:
--------------------------------------------------------------------------------
1 | package Exercicio3Aquecimento;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class Prato {
7 |
8 |
9 | private String nome;
10 | private List ingredientes = new ArrayList<>();
11 |
12 | public Prato() {
13 | }
14 |
15 | public Prato(String nome, List ingredientes) {
16 | this.nome = nome;
17 | this.ingredientes = ingredientes;
18 | }
19 |
20 | public String getNome() {
21 | return nome;
22 | }
23 |
24 | public void setNome(String nome) {
25 | this.nome = nome;
26 | }
27 |
28 | public List getIngredientes() {
29 | return ingredientes;
30 | }
31 |
32 | public void setIngredientes(List ingredientes) {
33 | this.ingredientes = ingredientes;
34 | }
35 |
36 | @Override
37 | public String toString() {
38 | StringBuilder retorno = new StringBuilder();
39 | retorno.append("\n Nome do prato: " + nome);
40 | retorno.append("\n Ingredientes: " + ingredientes);
41 | return retorno.toString();
42 | }
43 | }
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/Exercicio3Aquecimento/ServicoPrato.java:
--------------------------------------------------------------------------------
1 | package Exercicio3Aquecimento;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class ServicoPrato {
7 |
8 | private static List pratos = new ArrayList<>();
9 |
10 | public ServicoPrato(List pratos) {
11 | this.pratos = pratos;
12 | }
13 |
14 | public List getPratos() {
15 | return pratos;
16 | }
17 |
18 | public void setPratos(List pratos) {
19 | this.pratos = pratos;
20 | }
21 |
22 | //método parar cadastrar prato
23 |
24 | public static Prato cadastrarPrato(String nome, List ingredientes) {
25 |
26 | Prato prato = new Prato(nome, ingredientes);
27 | pratos.add(prato);
28 | return prato;
29 | }
30 |
31 | //método para excluir prato:
32 |
33 | public static String excluirPrato(String nome) {
34 | Prato pratoExcluido = null;
35 | for (Prato referenciaPrato : pratos) {
36 | if (referenciaPrato.getNome().equals(nome)) {
37 | pratoExcluido = referenciaPrato;
38 | }
39 | }
40 | pratos.remove(pratoExcluido);
41 | return "Prato" + nome + "excluído com sucesso";
42 | }
43 |
44 | public static void exibirPratos() {
45 | for (Prato pratoReferencia : pratos) {
46 | System.out.println("\n " + pratoReferencia);
47 | }
48 | }
49 |
50 |
51 | @Override
52 | public String toString() {
53 | StringBuilder retorno = new StringBuilder();
54 | retorno.append(getPratos());
55 | return retorno.toString();
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/Exercicio3Aquecimento/Sistema.java:
--------------------------------------------------------------------------------
1 | package Exercicio3Aquecimento;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import java.util.Objects;
6 | import java.util.Scanner;
7 |
8 | public class Sistema {
9 |
10 | // método para receber os dados do usuário
11 |
12 | private static Scanner entradaDados(String mensagem) {
13 | System.out.println(mensagem);
14 | return new Scanner(System.in);
15 | }
16 | //metodo para receber os dados de cadastro do prato:
17 |
18 | public static Prato cadastrarPrato() {
19 | String nome = entradaDados("Por favor, digite o nome do prato:").nextLine();
20 | //String ingrediente = entradaDados("Por favor, digite os ingredientes: ").nextLine();
21 | List ingredientes = new ArrayList<>();
22 | boolean continua = true;
23 | while (continua) {
24 | String nomeIngrediente = entradaDados("Por favor, digite os ingredientes: ").nextLine();
25 | if (!Objects.equals(nomeIngrediente, "")) { //não entendi, mas aceitei a sugestão do intellij e deu certo.
26 | ingredientes.add(new Ingrediente(nomeIngrediente));
27 | } else {
28 | continua = false;
29 | }
30 | }
31 |
32 | return ServicoPrato.cadastrarPrato(nome, ingredientes);
33 | }
34 | //metodo para receber o nome do prato a ser excluído
35 |
36 | public static void excluirPrato() {
37 | String nomePratoExcluido = entradaDados("Por favor, digite o nome do prato a ser excluído:").nextLine();
38 | ServicoPrato.excluirPrato(nomePratoExcluido);
39 | }
40 |
41 | //método para exibir as opções do menu
42 |
43 | public static void menu() {
44 | System.out.println("---------------------------------------------------");
45 | System.out.println("Bem vinde ao sistema de gerenciamento da Bom Prato!");
46 | System.out.println("---------------------------------------------------");
47 | System.out.println("Para cadastrar um prato, digite: 1");
48 | System.out.println("Para listar os pratos cadastrados, digite: 2");
49 | System.out.println("Para excluir um prato, digite: 3");
50 | System.out.println("Para sair do sistema, digite: 4");
51 |
52 | }
53 |
54 | //método para executar o programa completo:
55 |
56 | public static boolean executar() {
57 | boolean operarMenu = true;
58 |
59 | while (operarMenu) {
60 | menu();
61 | System.out.println("---------------------------------------------------");
62 | int escolhaUsuario = entradaDados("Escolha a opção desejada: ").nextInt();
63 | if (escolhaUsuario == 1) {
64 | Prato prato = new Prato();
65 | prato = cadastrarPrato();
66 | System.out.println("\n");
67 | System.out.println("Prato cadastrado com sucesso!");
68 | System.out.println("---------------------------------------");
69 | System.out.println("\n");
70 | } else if (escolhaUsuario == 2) {
71 | System.out.println("---------------------------------------");
72 | System.out.println("Pratos Cadastrados: ");
73 | ServicoPrato.exibirPratos();
74 | System.out.println("---------------------------------------");
75 | } else if (escolhaUsuario == 3) {
76 | String pratoExcluido = entradaDados("Por favor, digite o nome do prato a ser excluído: ").nextLine();
77 | ServicoPrato.excluirPrato(pratoExcluido);
78 | System.out.println("Prato excluído com sucesso!");
79 | System.out.println("---------------------------------------");
80 | } else if (escolhaUsuario == 4) {
81 | System.out.println("Obrigade e até a próxima!! =)");
82 | operarMenu = false;
83 | } else {
84 | System.out.println("Por favor, digite uma opção válida XD");
85 | }
86 |
87 | }
88 | return operarMenu;
89 |
90 | }
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/src/ExercicioDoisAquecimento/Candidato.java:
--------------------------------------------------------------------------------
1 | package ExercicioDoisAquecimento;
2 |
3 | public class Candidato {
4 | private String nome;
5 | private String numeroMatricula;
6 | private double nota;
7 |
8 | public Candidato() {
9 | }
10 |
11 | public Candidato(String nome, String numeroMatricula, double nota) {
12 | this.nome = nome;
13 | this.numeroMatricula = numeroMatricula;
14 | this.nota = nota;
15 | }
16 |
17 | public String getNome() {
18 | return nome;
19 | }
20 |
21 | public void setNome(String nome) {
22 | this.nome = nome;
23 | }
24 |
25 | public String getNumeroMatricula() {
26 | return numeroMatricula;
27 | }
28 |
29 | public void setNumeroMatricula(String numeroMatricula) {
30 | this.numeroMatricula = numeroMatricula;
31 | }
32 |
33 | public double getNota() {
34 | return nota;
35 | }
36 |
37 | public void setNota(double nota) {
38 | this.nota = nota;
39 | }
40 |
41 | @Override
42 | public String toString() {
43 | StringBuilder retorno = new StringBuilder();
44 | retorno.append("\n Nome: " + nome);
45 | retorno.append("\n Número de matrícula: " + numeroMatricula);
46 | retorno.append("\n Nota: " + nota);
47 | return retorno.toString();
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/ExercicioDoisAquecimento/Main.java:
--------------------------------------------------------------------------------
1 | package ExercicioDoisAquecimento;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 | Sistema.executar();
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/src/ExercicioDoisAquecimento/ServicoCandidato.java:
--------------------------------------------------------------------------------
1 | package ExercicioDoisAquecimento;
2 |
3 | import Exercicio2Aquecimento.Candidato;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | public class ServicoCandidato {
9 | private static List candidatos = new ArrayList<>();
10 |
11 | public ServicoCandidato(List candidatos) {
12 | this.candidatos = candidatos;
13 | }
14 |
15 | public List getCandidatos() {
16 | return candidatos;
17 | }
18 |
19 | public void setCandidatos(List candidatos) {
20 | this.candidatos = candidatos;
21 | }
22 |
23 | //método para adicionar um candidato
24 |
25 | public static Candidato adicionarCandidato(String nome, String numeroMatricula, double nota) {
26 | Candidato candidato = new Candidato(nome, numeroMatricula, nota);
27 | candidatos.add(candidato);
28 | return candidato;
29 | }
30 |
31 | // método para listar os candidados
32 |
33 | public static void listarCandidatos() {
34 | for (Candidato candidatoReferencia : candidatos) {
35 | System.out.println("\n" + candidatoReferencia);
36 | }
37 | }
38 |
39 | // método para excluir candidatos a partir do número de matrícula fornecido
40 |
41 | public static void excluirCandidato(String numeroMatricula) {
42 | Candidato candidatoExcluido = null;
43 | for (Candidato candidatoReferencia : candidatos) {
44 | if (candidatoReferencia.getNumeroMatricula().equals(numeroMatricula)) {
45 | candidatoExcluido = candidatoReferencia;
46 | }
47 | }
48 | candidatos.remove(candidatoExcluido);
49 | }
50 |
51 | @Override
52 | public String toString() {
53 | StringBuilder retorno = new StringBuilder();
54 | retorno.append("Candidatos: " + candidatos);
55 | return retorno.toString();
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/ExercicioDoisAquecimento/Sistema.java:
--------------------------------------------------------------------------------
1 | package ExercicioDoisAquecimento;
2 |
3 | import Exercicio2Aquecimento.Candidato;
4 | import Exercicio2Aquecimento.ServicoCandidato;
5 |
6 | import java.util.Scanner;
7 |
8 | public class Sistema {
9 |
10 | //método para a entrada de dados
11 |
12 | private static Scanner entradaDados(String mensagem) {
13 | System.out.println(mensagem);
14 | return new Scanner(System.in);
15 |
16 | }
17 |
18 | //método para receber a entrada de dados no cadastro de candidatos:
19 | public static Candidato adicionarCandidato() {
20 | String nome = entradaDados("Por favor digite o nome do candidato: ").nextLine();
21 | String numeroMatricula = entradaDados("Por favor, digite o número de matrícula do candidato: ").nextLine();
22 | double nota = entradaDados("Por favor, digite a nota do candidato: ").nextDouble();
23 | return ServicoCandidato.adicionarCandidato(nome, numeroMatricula, nota);
24 | }
25 |
26 |
27 | //método para receber a entrada de dados do método excluirCandidato
28 | public static void excluirCandidato() {
29 | String numeroMatricula = entradaDados("Por favor, digite o número de matrícula do candidato que deseja excluir: ").nextLine();
30 | ServicoCandidato.excluirCandidato(numeroMatricula);
31 | }
32 |
33 |
34 | //método para exibir as opções do menu
35 | public static void menu() {
36 | System.out.println("\n ");
37 | System.out.println("-------------------------------------------------------------------------------");
38 | System.out.println("Olá, seja bem vinde ao sistema de gerenciamento de candidatos < Pagou, pa$$ou >");
39 | System.out.println("-------------------------------------------------------------------------------");
40 | System.out.println("\n ");
41 | System.out.println("Para adicionar um candidato, por favor digite [1]");
42 | System.out.println("Para exibir os candidatos cadastrados, por favor digite [2]");
43 | System.out.println("Para excluir um candidato, por favor digite [3]");
44 | System.out.println("Para sair do sistema, por favor digite [4]");
45 | }
46 | //método para executar o programa completo
47 |
48 | public static boolean executar() {
49 | boolean operarMenu = true;
50 | while (operarMenu) {
51 | menu();
52 | int escolhaUsuario = entradaDados("Por favor digite a opção desejada: ").nextInt();
53 | if (escolhaUsuario == 1) {
54 | Candidato candidato = new Candidato();
55 | candidato = adicionarCandidato();
56 | } else if (escolhaUsuario == 2) {
57 | System.out.println("------------------------");
58 | System.out.println("Candidatos cadastrados: ");
59 | System.out.println("------------------------");
60 | ServicoCandidato.listarCandidatos();
61 | } else if (escolhaUsuario == 3) {
62 | String numeroMatricula = entradaDados("Por favor digite o número de matrícula do candidato:").nextLine();
63 | ServicoCandidato.excluirCandidato(numeroMatricula);
64 | System.out.println("Candidato excluído com sucesso!");
65 | } else if (escolhaUsuario == 4) {
66 | System.out.println("Obrigade e até a próxima!");
67 | operarMenu = false;
68 | } else {
69 | System.out.println("Ops, opção inválida! Tente outra vez =)");
70 | }
71 | }
72 | return operarMenu;
73 | }
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/src/GerenciadorCandidatosVestibular/Candidato.java:
--------------------------------------------------------------------------------
1 | package GerenciadorCandidatosVestibular;
2 |
3 | public class Candidato {
4 | private int numeroMatricula;
5 | private String nomeCandidato;
6 | private double notaCandidato;
7 |
8 | public Candidato() {
9 | }
10 |
11 | public Candidato( String nomeCandidato, int numeroMatricula, double notaCandidato) {
12 | this.numeroMatricula = numeroMatricula;
13 | this.notaCandidato = notaCandidato;
14 | this.nomeCandidato = nomeCandidato;
15 | }
16 |
17 | public int getNumeroMatricula() {
18 | return numeroMatricula;
19 | }
20 |
21 | public void setNumeroMatricula(int numeroMatricula) {
22 | this.numeroMatricula = numeroMatricula;
23 | }
24 |
25 | public double getNotaCandidato() {
26 | return notaCandidato;
27 | }
28 |
29 | public void setNotaCandidato(double notaCandidato) {
30 | this.notaCandidato = notaCandidato;
31 | }
32 |
33 | public String getNomeCandidato() {
34 | return nomeCandidato;
35 | }
36 |
37 | public void setNomeCandidato(String nomeCandidato) {
38 | this.nomeCandidato = nomeCandidato;
39 | }
40 |
41 | @Override
42 | public String toString() {
43 | StringBuilder retornaDados = new StringBuilder();
44 | retornaDados.append("\n--------------------------");
45 | retornaDados.append("\nNome: "+ nomeCandidato);
46 | retornaDados.append("\nMatrícula: "+ numeroMatricula);
47 | retornaDados.append("\nNota: "+ notaCandidato);
48 | retornaDados.append("\n--------------------------");
49 | return retornaDados.toString();
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/GerenciadorCandidatosVestibular/Main.java:
--------------------------------------------------------------------------------
1 | package GerenciadorCandidatosVestibular;
2 |
3 | public class Main {
4 | public static void main(String[] args){
5 | boolean continuarExecutar = true;
6 | while (continuarExecutar){
7 | try {
8 | continuarExecutar = Sistema.executar();
9 | }catch (Exception erro){
10 | System.out.println(erro.getMessage());
11 | }
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/GerenciadorCandidatosVestibular/ServicoCandidato.java:
--------------------------------------------------------------------------------
1 | package GerenciadorCandidatosVestibular;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class ServicoCandidato {
7 | static List candidatos = new ArrayList<>();
8 |
9 | public static Candidato cadastrarCandidato (String nome, int matricula, double nota){
10 | Candidato novoCandidato = new Candidato(nome, matricula, nota);
11 | candidatos.add(novoCandidato);
12 | return novoCandidato;
13 | }
14 | public static void exibirCandidatosCadastrados(){
15 | System.out.println("Quantidade de candidatos cadastrados: " + candidatos.size());
16 | for (Candidato candidatoReferencia: candidatos){
17 | System.out.println(candidatoReferencia);
18 | }
19 | }
20 | public static void verificarMatriculaRepetida (int matricula) throws Exception{
21 | for (Candidato candidatoReferencia : candidatos){
22 | if (candidatoReferencia.getNumeroMatricula() == matricula){
23 | throw new Exception("Matrícula já cadastrada!");
24 | }
25 | }
26 | }
27 | public static Candidato verificarMatriculaExistente (int matricula) throws Exception{
28 | for (Candidato candidatoReferencia : candidatos){
29 | if (candidatoReferencia.getNumeroMatricula() == matricula){
30 | return candidatoReferencia;
31 | }
32 | }
33 | throw new Exception("Candidato não encontrado");
34 | }
35 | public static void excluirCandidato(Candidato candidato){
36 | candidatos.remove(candidato);
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/src/GerenciadorCandidatosVestibular/Sistema.java:
--------------------------------------------------------------------------------
1 | package GerenciadorCandidatosVestibular;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Sistema {
6 | private static Scanner receberDados (String mensagem){
7 | System.out.println(mensagem);
8 | return new Scanner(System.in);
9 | }
10 | public static void menuOpcoes(){
11 | System.out.println("\n------------O que deseja fazer?------------");
12 | System.out.println("[1] - Cadastrar novo candidato;");
13 | System.out.println("[2] - Exibir candidatos cadastrados;");
14 | System.out.println("[3] - Excluir candidato cadastrado;");
15 | System.out.println("[4] - Sair");
16 | System.out.println("-------------------------------------------");
17 | System.out.println("Digite a opção desejada:");
18 | }
19 | public static Candidato cadastrarCandidato() throws Exception{
20 | String nome = receberDados("Digite o nome do Candidato: ").nextLine();
21 | int numeroMatricula = receberDados("Digite o número da matrícula: ").nextInt();
22 | ServicoCandidato.verificarMatriculaRepetida(numeroMatricula);
23 | double nota = receberDados("Qual a nota do candidato: ").nextDouble();
24 |
25 | Candidato novoCandidato = ServicoCandidato.cadastrarCandidato(nome, numeroMatricula,nota);
26 | return novoCandidato;
27 | }
28 |
29 | public static void excluirCandidato() throws Exception{
30 | int matricula = receberDados("Digite a matícula do candidato que deseja excluir:").nextInt();
31 | Candidato candidatoASerExcluido = ServicoCandidato.verificarMatriculaExistente(matricula);
32 | ServicoCandidato.excluirCandidato(candidatoASerExcluido);
33 | System.out.println("Candidato Excluído");
34 | }
35 | public static boolean executar () throws Exception{
36 | boolean continuarMenu = true;
37 |
38 | System.out.println("Bem vindo ao Sistema de gerenciamento de Candidatos");
39 | while (continuarMenu){
40 | menuOpcoes();
41 | int opcao = receberDados("").nextInt();
42 |
43 | if (opcao == 1){
44 | Candidato novoCandidato = cadastrarCandidato();
45 | System.out.println(novoCandidato);
46 | }
47 | if (opcao == 2 ){
48 | ServicoCandidato.exibirCandidatosCadastrados();
49 | }
50 | if (opcao == 3){
51 | excluirCandidato();
52 | }
53 | if (opcao == 4){
54 | continuarMenu = false;
55 | System.out.println("Até mais!");
56 | }
57 | }
58 | return continuarMenu;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/ModelagemClasseDesafio/Main.java:
--------------------------------------------------------------------------------
1 | package ModelagemClasseDesafio;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import java.util.Scanner;
6 |
7 | public class Main {
8 | public static void main(String[] args) {
9 | Listcontinente = new ArrayList<>();
10 | Scanner input = new Scanner(System.in);
11 |
12 | Pais pais1 = new Pais("Holanda", 234356, 20000);
13 | Pais pais2 = new Pais("França", 3455778,1200000);
14 | Pais pais3 = new Pais("Inglaterra", 23888899,4500000);
15 | Pais pais4 = new Pais("Brasil", 998877665,220000000);
16 |
17 | continente.add(pais1);
18 | continente.add(pais2);
19 | continente.add(pais3);
20 | continente.add(pais4);
21 |
22 | boolean operarMenu = true;
23 | int escolhaUsuario = 0;
24 |
25 | while(operarMenu){
26 | System.out.println("Para listar os países, digite: 1");
27 | System.out.println("Para sair do menu, digite: 2");
28 | escolhaUsuario = input.nextInt();
29 |
30 | if (escolhaUsuario == 1){
31 | for (Pais referencia: continente) {
32 | System.out.println("Nome: " + referencia.nome + " Extensão territorial: " + referencia.extensãoTerritorial + " População: " + referencia.tamanhoPopulacao);
33 | System.out.println("----------------------------");
34 | }
35 | }else if (escolhaUsuario == 2){
36 | System.out.println("Obrigade, volte sempre!");
37 | operarMenu = false;
38 | }else{
39 | System.out.println("Digite uma opção válida");
40 | }
41 |
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/ModelagemClasseDesafio/Pais.java:
--------------------------------------------------------------------------------
1 | package ModelagemClasseDesafio;
2 |
3 | public class Pais {
4 | String nome;
5 | double extensãoTerritorial;
6 | double tamanhoPopulacao;
7 |
8 | public Pais(String nome, double extensãoTerritorial, double tamanhoPopulacao) {
9 | this.nome = nome;
10 | this.extensãoTerritorial = extensãoTerritorial;
11 | this.tamanhoPopulacao = tamanhoPopulacao;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/POO1_AQUECIMENTO_EXERCICIO1/Estabelecimento.java:
--------------------------------------------------------------------------------
1 | package POO1_AQUECIMENTO_EXERCICIO1;
2 |
3 | import java.util.List;
4 |
5 | public class Estabelecimento {
6 | private String nome;
7 | private List listaDeProdutos;
8 |
9 | public Estabelecimento(String nome, List listaDeProdutos) {
10 | this.nome = nome;
11 | this.listaDeProdutos = listaDeProdutos;
12 | }
13 |
14 | public String getNome() {
15 | return nome;
16 | }
17 |
18 | public void setNome(String nome) {
19 | this.nome = nome;
20 | }
21 |
22 | public List getListaDeProdutos() {
23 | return listaDeProdutos;
24 | }
25 |
26 | public void setListaDeProdutos(List listaDeProdutos) {
27 | this.listaDeProdutos = listaDeProdutos;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/POO1_AQUECIMENTO_EXERCICIO1/Main.java:
--------------------------------------------------------------------------------
1 | package POO1_AQUECIMENTO_EXERCICIO1;
2 |
3 | public class Main {
4 | public static void main(String[] args) {
5 | Sistema.executar();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/POO1_AQUECIMENTO_EXERCICIO1/Produto.java:
--------------------------------------------------------------------------------
1 | package POO1_AQUECIMENTO_EXERCICIO1;
2 |
3 | public class Produto {
4 | private String nome;
5 | private double preco;
6 |
7 | public Produto(String nome, double preco) {
8 | this.nome = nome;
9 | this.preco = preco;
10 | }
11 |
12 | public String getNome() {
13 | return nome;
14 | }
15 |
16 | public void setNome(String nome) {
17 | this.nome = nome;
18 | }
19 |
20 | public double getPreco() {
21 | return preco;
22 | }
23 |
24 | public void setPreco(double preco) {
25 | this.preco = preco;
26 | }
27 |
28 | @Override
29 | public String toString() {
30 | return nome + "\tR$ " + preco + "\t";
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/POO1_AQUECIMENTO_EXERCICIO1/ServiceProduto.java:
--------------------------------------------------------------------------------
1 | package POO1_AQUECIMENTO_EXERCICIO1;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class ServiceProduto {
7 | public static List listaDeProdutos = new ArrayList<>();
8 |
9 | public static void instanciarProduto(String nome, double preco){
10 | Produto produto = new Produto(nome, preco);
11 | listaDeProdutos.add(produto);
12 | }
13 |
14 | public static void adicionarProdutos(int quantidade){
15 | while (quantidade != 0){
16 | Sistema.instanciarProduto();
17 | quantidade --;
18 | }
19 | }
20 |
21 | public static void excluirProduto(String nome){
22 | Produto excluido = null;
23 | for (Produto referencia : listaDeProdutos){
24 | if (referencia.getNome().equalsIgnoreCase(nome)){
25 | excluido = referencia;
26 | }
27 | }
28 | if (excluido == null){
29 | System.out.println("Não existe um produto com este nome");
30 | }
31 | else {
32 | listaDeProdutos.remove(excluido);
33 | System.out.println("Produto excluído");
34 | }
35 | }
36 |
37 | public static void exibirProdutosCadastrados(){
38 | listaDeProdutos.forEach(System.out::println);
39 | }
40 |
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/src/POO1_AQUECIMENTO_EXERCICIO1/Sistema.java:
--------------------------------------------------------------------------------
1 | package POO1_AQUECIMENTO_EXERCICIO1;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Sistema {
6 | private static Scanner capturarDados (String mensagem){
7 | System.out.println(mensagem);
8 | return new Scanner(System.in);
9 | }
10 |
11 | public static void instanciarProduto(){
12 | String nome = capturarDados("Digite o nome do produto: ").nextLine();
13 | double preco = capturarDados("Digite o preço do produto: ").nextDouble();
14 | ServiceProduto.instanciarProduto(nome,preco);
15 | }
16 |
17 | public static void adicionarProdutos(){
18 | int numeroProdutos = capturarDados("Digite quantos produtos deseja adicionar").nextInt();
19 | ServiceProduto.adicionarProdutos(numeroProdutos);
20 | }
21 |
22 | public static void excluirProduto(){
23 | String produtoExcluido = capturarDados("Digite o nome do produto que deseja excluir").nextLine();
24 | ServiceProduto.excluirProduto(produtoExcluido);
25 | }
26 |
27 | public static void menu(){
28 | System.out.println("1 - Cadastrar produtos");
29 | System.out.println("2 - Exibir produtos cadastrados");
30 | System.out.println("3 - Excluir produtos");
31 | System.out.println("4 - Sair");
32 | }
33 |
34 | public static void executar(){
35 | boolean loop = true;
36 | while (loop) {
37 | menu();
38 | int escolha = capturarDados("Digite sua escolha").nextInt();
39 | if (escolha == 1) {
40 | adicionarProdutos();
41 | } else if (escolha == 2) {
42 | ServiceProduto.exibirProdutosCadastrados();
43 | }
44 | else if (escolha == 3){
45 | excluirProduto();
46 | }
47 | else if (escolha == 4){
48 | loop = false;
49 | }
50 | else {
51 | System.out.println("Opção inválida");
52 | }
53 | }
54 | }
55 |
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/src/POO1_Mod3_EXE2ContaBancaria/ContaBancaria.java:
--------------------------------------------------------------------------------
1 | package POO1_Mod3_EXE2ContaBancaria;
2 |
3 | public class ContaBancaria {
4 | //Atributos
5 | private String numeroConta;
6 | private double saldo;
7 | private String nomeCorrentista;
8 |
9 | //Método Constructor
10 | public ContaBancaria (){
11 |
12 | }
13 | public ContaBancaria(String numeroConta, double saldo, String nomeCorrentista){
14 | this.numeroConta = numeroConta;
15 | this.saldo = saldo;
16 | this.nomeCorrentista = nomeCorrentista;
17 | }
18 |
19 | //Getter - Setter
20 |
21 | public String getNumeroConta() {
22 | return numeroConta;
23 | }
24 |
25 | public void setNumeroConta(String numeroConta) {
26 | this.numeroConta = numeroConta;
27 | }
28 |
29 | public double getSaldo() {
30 | return saldo;
31 | }
32 |
33 | public void setSaldo(double saldo) {
34 | this.saldo = saldo;
35 | }
36 |
37 | public String getNomeCorrentista() {
38 | return nomeCorrentista;
39 | }
40 |
41 | public void setNomeCorrentista(String nomeCorrentista) {
42 | this.nomeCorrentista = nomeCorrentista;
43 | }
44 |
45 | // Método Saque
46 | public double saqueConta(double valorSaque){
47 | saldo = saldo - valorSaque;
48 | return saldo;
49 | }
50 |
51 | //Método Depósito
52 | public double depositoConta(double valorDeposito){
53 | saldo = saldo + valorDeposito;
54 | return saldo;
55 | }
56 |
57 | //Método Extrato
58 | public void extrato(){
59 | System.out.println("======================================");
60 | System.out.println("\t Extrato Conta "+numeroConta);
61 | System.out.println("======================================");
62 | System.out.println("Correntista: \t"+nomeCorrentista);
63 | System.out.println("Número de Conta: \t"+numeroConta );
64 | System.out.println("Saldo Atua: \t"+saldo);
65 | System.out.println("======================================");
66 | }
67 |
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/src/POO1_Mod3_EXE2ContaBancaria/Main.java:
--------------------------------------------------------------------------------
1 | package POO1_Mod3_EXE2ContaBancaria;
2 |
3 | import java.util.Scanner;
4 |
5 | public class Main {
6 | public static void main(String[] args) {
7 | Scanner leitor = new Scanner(System.in);
8 | ContaBancaria newConta = new ContaBancaria("0125454",138.58,"Raline Maria");
9 | System.out.println(newConta.getNomeCorrentista());
10 | System.out.println(newConta.getNumeroConta());
11 | System.out.println(newConta.getSaldo());
12 |
13 | //Testar Método Saque
14 | System.out.println("Digite valor do Saque: ");
15 | double valorModificar = leitor.nextDouble();
16 | newConta.saqueConta(valorModificar);
17 | System.out.println("Saldo Atual: "+newConta.getSaldo());
18 |
19 | //Testar Método Deposito
20 | System.out.println("Digite valor do Deposito: ");
21 | valorModificar = leitor.nextDouble();
22 | newConta.depositoConta(valorModificar);
23 | System.out.println("Saldo Atual: "+newConta.getSaldo());
24 |
25 | //Testar Método Extrato
26 | newConta.extrato();
27 |
28 |
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/br/com/zup/CartaoCredito/CartaoDeCredito.java:
--------------------------------------------------------------------------------
1 | package br.com.zup.CartaoCredito;
2 |
3 | public class CartaoDeCredito {
4 | double limite;
5 | double saldo;
6 | String nome;
7 |
8 | public CartaoDeCredito(double limite, double saldo, String nome) {
9 | this.limite = limite;
10 | this.saldo = saldo;
11 | this.nome = nome;
12 | }
13 |
14 | public void aumentarLimite(double valor) {
15 | limite = limite + valor;
16 | }
17 |
18 | public void diminuirLimite(double valor) {
19 | limite = limite - valor;
20 | }
21 |
22 | public void realizaComprar(double valor) {
23 | if (limite - saldo >= valor) {
24 | limite = limite - valor - saldo;
25 | saldo = saldo + valor;
26 | System.out.println("Compra efeituada com SUCESSO !");
27 | } else {
28 | System.out.println("Você não tem limite");
29 | }
30 | }
31 | public void imprimeFatura() {
32 | System.out.println("Seu novo saldo após a compra é : " + saldo);
33 | System.out.println("Seu limite após a compra é : " + limite);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/br/com/zup/CartaoCredito/Main.java:
--------------------------------------------------------------------------------
1 | package br.com.zup.CartaoCredito;
2 |
3 | public class Main {
4 | public static void main(String[] args) throws Exception {
5 | Sistema.executar();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/br/com/zup/CartaoCredito/Sistema.java:
--------------------------------------------------------------------------------
1 | package br.com.zup.CartaoCredito;
2 |
3 | public class Sistema {
4 | public static void executar() throws Exception {
5 |
6 | CartaoDeCredito exemplo = new CartaoDeCredito(500, 100, "Lurrégia");
7 |
8 | //Aumentando limite
9 | exemplo.aumentarLimite(600);
10 |
11 | //Diminuindo limite
12 | exemplo.diminuirLimite(100);
13 |
14 | //Realizando compra
15 | exemplo.realizaComprar(200);
16 | System.out.println("-----");
17 |
18 | //Fatura do cartão
19 | exemplo.imprimeFatura();
20 |
21 | }
22 | }
23 |
24 |
--------------------------------------------------------------------------------