├── .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 | ![branchs](https://github.com/GuillaumeFalourd/useful-actions/blob/main/git-branchs.png) 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 | --------------------------------------------------------------------------------