{"id":22930463,"url":"https://github.com/patinaomi/lista-de-exercicios-java-fiap-1-sem","last_synced_at":"2025-08-12T15:31:31.170Z","repository":{"id":190910894,"uuid":"683575749","full_name":"patinaomi/lista-de-exercicios-java-fiap-1-sem","owner":"patinaomi","description":"Lista de exercícios realizados durante o 1º semestre da matéria de Java da faculdade FIAP","archived":false,"fork":false,"pushed_at":"2024-02-24T20:10:13.000Z","size":165,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-02-24T21:28:07.401Z","etag":null,"topics":["basic-programming","brazil","exercices","exercicios","exercicios-listas","exercicios-resolvidos","java","lista","logica-de-programacao","portuguese-brazilian"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patinaomi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-27T02:43:49.000Z","updated_at":"2024-02-24T21:28:15.917Z","dependencies_parsed_at":"2024-02-24T21:28:14.897Z","dependency_job_id":"f1c71cef-dfc9-41ea-bfd5-216565a656e6","html_url":"https://github.com/patinaomi/lista-de-exercicios-java-fiap-1-sem","commit_stats":{"total_commits":37,"total_committers":2,"mean_commits":18.5,"dds":"0.18918918918918914","last_synced_commit":"3b8cb31b3ee39c5a9f6f7e63cce13d64de8931a0"},"previous_names":["patinaomi/domain-driven-design-fiap-exercicios","patinaomi/lista-de-exercicios-java","patinaomi/lista-de-exercicios-java-fiap"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patinaomi%2Flista-de-exercicios-java-fiap-1-sem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patinaomi%2Flista-de-exercicios-java-fiap-1-sem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patinaomi%2Flista-de-exercicios-java-fiap-1-sem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patinaomi%2Flista-de-exercicios-java-fiap-1-sem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patinaomi","download_url":"https://codeload.github.com/patinaomi/lista-de-exercicios-java-fiap-1-sem/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229694239,"owners_count":18108925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["basic-programming","brazil","exercices","exercicios","exercicios-listas","exercicios-resolvidos","java","lista","logica-de-programacao","portuguese-brazilian"],"created_at":"2024-12-14T10:28:12.238Z","updated_at":"2024-12-14T10:29:40.360Z","avatar_url":"https://github.com/patinaomi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lista de Exercícios Básicos em Java \n\n## Descrição\nEste repositório tem como objetivo reunir alguns exercícios para ajudar alunos iniciantes na linguagem Java. Todos os exercícios contam com um enunciado e com uma solução proposta. :coffee:\n\n## Índice\n* [Descrição](#descrição)\n* [Provas](#enunciados)\n  * [CP1](#CP1)\n  * [CP2](#CP2)\n  * [CP3](#CP3)\n* [Enunciados](#enunciados)\n  * [Lista 1](#--lista-1)\n  * [Lista 2](#--lista-2)\n\n## Provas\n### CP1\n#### [Exercicio 001](cp1/Contador.java)\nExercício Contador\nCriar uma classe Contador que encapsule (guarde) um valor usado para uma contagem de itens/elementos ou eventos. A classe deve conter:◦Um método Construtor para inicializar o contador;\nUm método para zerar o contador;\nUm método para incrementar o contador em uma unidade;◦Um método para decrementar o contador em uma unidade;\nUm método para retornar o valor atual do contador;\nO programa principal deve instanciar objetos da classe Contador e utilizar seus métodos.\n\n#### [Exercicio 002](cp1/Lampada.java)\nExercício Lâmpada\nCriar uma classe em Linguagem Java que represente uma Lâmpada, onde esta pode ser ligada e desligada através de métodos. Também deve ser possível observar o estado da lâmpada, bem como alterar o seu estado (ligado/desligado). Crie um método construtor para inicializar o estado da lâmpada. \nO programa principal deve instanciar objetos da classe Lâmpada e utilizar seus métodos.\n\n#### [Exercicio 003](cp1/Conta.java)\nExercício Conta \nCriar uma classe Conta que contenha o nome do cliente, o número da conta e o saldo. Estes valores deverão ser informados no construtor da classe;•Criar o método construtor (parametrizado) para inicializar os atributos da classe;\nCriar um método depositar e um método sacar para realizar o depósito e o saque de valores da conta;\nRestrição: o cliente não poderá realizar um saque, se não tiver saldo disponível. O programa deverá validar essa operação.•Criar o método transferir, responsável por receber um valor de outro cliente.\nCriar métodos para acessar e modificar os atributos (getters e setters) para cada atributo da classe.\nO programa principal deve instanciar objetos da classe Conta e utilizar seus métodos.\n\n### CP2\n#### [Exercicio 001](cp2/Monitoramento.java)\n Sistema de monitoramento de temperaturas \nUm  sistema  de  monitoramento  de  temperaturas  está  em  operação  em  uma  cidade  no sudeste brasileiro, porém, é preciso melhorá-lo e expandir o seu uso para outras cidades. Para  isto,  você  foi  contratado  para  desenvolver  um  novo  sistema  em  Java  que  faça  o mapeamento  das  temperaturas  médias  em  um  determinado  período  e  que  seja  capaz  de dar algumas informações sobre esses dados. \nComo  parte  dos  requisitos,  o  programa  deve  coletar  algumas  temperaturas  médias (diárias),  durante  um  período  determinado  pelo  usuário  (mapeados  em  dias/semana), permita a impressão de todas as temperaturas mapeadas, a maior e a menor temperatura lida,  a  média  das  temperaturas  mapeadas,  e  uma  lista  com  as  temperaturas  negativas. Para isso, escreva um programa que tenha:\n1) Um método que solicite ao usuário qual o período será mapeado (dias/semana)\n2) Um método para mapear/coletar as temperaturas em uma matriz (dias/semana)\n3) Um método para obter a maior e a menor temperatura mapeada no período\n4) Um  método  para  ‘separar’  (em  um  array)  as temperaturas  negativas  no  período mapeado\n5) Um método para obter a temperatura média no período\n6) Função principal para testar o programa\n\n### CP3\n#### [Exercicio 001](cp3/Competicao.java)\nEm uma competição de salto em distância, cada atleta tem direito a realizar cinco saltos.  O  resultado  do  atleta  será  determinado  pela  média  dos  cinco  valores alcançados. Crie um programa que receba o nome do atleta e as cinco distâncias alcançadas por ele em seus saltos e depois informe o nome, os saltos e a  média  dos  saltos.  O  programa  deve  armazenar  os  valores  alcançados  em  cada salto  em  uma  sequência  e  ser  encerrado  quando  não  for  informado  o  nome  do atleta. Segue um exemplo de saída do programa: \n\n![img 01](/cp3/img001.png)\n\n#### [Exercicio 002](cp3/Consumo.java)\nFaça  um  programa  que  leia  (carregue  via  teclado)  uma  lista  com  os modelos  de  cinco  carros  (exemplo  de  modelos:  FUSCA,  GOL,  VECTRA,  etc). Carregue   uma   outra   lista   com   o   consumo   desses   carros,   isto   é,   quantos quilômetros  cada  um  desses  carros  faz  com  um  litro  de  combustível.  Calcule  e mostre:a.O modelo do carro mais econômico;\nQuantos  litros  de  combustível  cada  um  dos  carros  cadastrados  consome  para percorrer   uma   distância   de   1000   quilômetros   e   quanto   isto   custará, considerando  que  o  litro  da  gasolina  custe  R$  6,89  o  litro.Abaixo  segue  uma saída  de  exemplo.  O  disposição  das  informações  deve  ser  o  mais  próxima possível ao exemplo. Os dados são fictícios e podem mudar a cada execução do programa.\n\n![img 02](/cp3/img002.png)\n\n## Enunciados\n### - Lista 1\n#### [Exercicio 001](listaexercicios01/ex001.java)\nFazer um algoritmo que leia dois números e imprima na tela o produto (multiplicação) dos dois números.\n\n#### [Exercicio 002](listaexercicios01/ex002.java)\nFazer um algoritmo que lê dois números, a base e o expoente, e imprime a potência (base elevada ao expoente).\nExemplo: 5 elevado ao cubo ficaria Math.pow(5,3). Você pode trocar esses números por variáveis.\n\n#### [Exercicio 003](listaexercicios01/ex003.java)\nFazer um algoritmo que lê dois números e imprime a soma dos quadrados dos\ndois números. O quadrado de um número A é representado por A² = A * A.\n\n#### [Exercicio 004](listaexercicios01/ex004.java)\nFazer um algoritmo que lê dois números inteiros e imprime os números consecutivos desses números. \nPor exemplo: se o usuário digitar 2 e -9, a saída deverá ser 3 e -8, porque 3 é consecutivo de 2.\n-9 é consecutivo de -9 \n\n#### [Exercicio 005](listaexercicios01/ex005.java)\nFazer um algoritmo que leia um valor L e calcula a área de um quadrado de lado L.\n\n#### [Exercicio 006](listaexercicios01/ex006.java)\nEscreva um algoritmo que leia três números decimais: A, B e C. Em seguida, calcule e mostre:\na :  a área do triângulo retângulo que tem A por base e C por altura.\nA = b*h/2\nb : a área do círculo de raio C. (π = 3.14159)\nA = pi * raio²\nc : a área do trapézio que tem A e B por bases e C por altura.\nA = (B+b).h / 2\nd : a área do quadrado que tem lado B.\nA = lado * lado\ne : a área do retângulo que tem lados A e B.\nA = lado * lado\nf : o perímetro do retângulo que tem lados A e B \n\n#### [Exercicio 007](listaexercicios01/ex007.java)\nFazer um algoritmo que leia os dois lados A e B de um triângulo retângulo e calcula a hipotenusa do triângulo. \nPara esse caso, considere que ℎ𝑖𝑝𝑜𝑡𝑒𝑛𝑢𝑠𝑎 = √𝐴² + 𝐵²\nDica: nesse programa, você deve usar a função matemática Math.sqrt(). Por exemplo, a raiz de 121 ficaria Math.sqrt(121).\n\n#### [Exercicio 008](listaexercicios01/ex008.java)\nFazer um algoritmo que leia quatro números e imprime a média aritmética dos quatro números.\n\n#### [Exercicio 009](listaexercicios01/ex009.java)\nEscreva um programa que leia o número de cadastro de um funcionário, seu número de horas trabalhadas, o valor que recebe por hora e calcula o salário desse funcionário.\nA seguir, mostre na tela o número e o salário do funcionário.\n\n#### [Exercicio 010](listaexercicios01/ex010.java)\nFaça um programa que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele \nno mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, \ncalcular e imprimir o total a receber no final do mês\n\n#### [Exercicio 011](listaexercicios01/ex011.java)\nFazer um algoritmo que lê um número e verifica se ele é negativo. Se for negativo, imprimir na tela a \nmensagem \"Numero negativo\"\n\n#### [Exercicio 012](listaexercicios01/ex012.java)\nFazer um algoritmo que leia dois números L e R. O programa deve verificar a maior área entre um quadrado \nde lado L e um círculo de raio R. Imprimir na tela qual o maior: \"Quadrado\" ou \"Círculo\".\n\n#### [Exercicio 013](listaexercicios01/ex013.java)\nFazer um algoritmo que leia três números e imprime o maior deles.\n\n#### [Exercicio 014](listaexercicios01/ex014.java)\nFazer um algoritmo que leia dois números e imprime a divisão do maior pelo menor\n\n#### [Exercicio 015](listaexercicios01/ex015.java)\nLeia 3 números decimais A, B e C e efetue o cálculo das raízes da equação de Bhaskara.\nSe não for possível calcular as raízes, ou seja, caso haja uma divisão por 0 ou raiz de número negativo, mostre \na mensagem correspondente “Impossível calcular”.\n\n#### [Exercicio 016](listaexercicios01/ex016.java)\nLeia a hora inicial e a hora final de um jogo. A seguir calcule a duração do jogo, sabendo que o mesmo pode \ncomeçar em um dia e terminar em outro, tendo uma duração mínima de 1 hora e máxima de 24 horas.\n\n#### [Exercicio 017](listaexercicios01/ex017.java)\nLeia 4 valores inteiros A, B, C e D. A seguir, se B for maior do que C e se D for maior do que A, e a soma de C\ncom D for maior que a soma de A e B e se C e D, ambos, forem positivos e se a variável A for par escrever a\nmensagem \"Valores aceitos\", senão escrever \"Valores não aceitos\".\n\n#### [Exercicio 018](listaexercicios01/ex018.java)\nLeia 3 números decimais A, B e C e ordene-os em ordem decrescente, de modo que o lado A representa o\nmaior dos 3 lados. A seguir, determine o tipo de triângulo que estes três lados formam, com base nos\nseguintes casos, sempre escrevendo uma mensagem adequada:\n* se A ≥ B+C, apresente a mensagem: NAO FORMA TRIÂNGULO\n* se A² = B² + C², apresente a mensagem: TRIÂNGULO RETÂNGULO\n* se A² \u003e B² + C², apresente a mensagem: TRIÂNGULO OBTUSÂNGULO\n* se A² \u003c B² + C², apresente a mensagem: TRIÂNGULO ACUTÂNGULO\n* se os três lados forem iguais, apresente a mensagem: TRIÂNGULO EQUILÁTERO\n* se apenas dois dos lados forem iguais, apresente a mensagem: TRIÂNGULO ISÓSCELES\n\n[:arrow_up: voltar para o índice :arrow_up:](#índice)\n\n### - Lista 2\n#### [Exercicio 001](listaexercicios02/ex001.java)\nFaça um programa que mostre todos os números inteiros de 1 a 50. Use o laço WHILE.\n#### [Exercicio 002](listaexercicios02/ex002.java)\nFaça um programa que leia um número N do usuário, some todos os números inteiros de 1 a N, e mostre o resultado obtido. Use o laço WHILE.\n\n#### [Exercicio 003](listaexercicios02/ex003.java)\nEscreva um programa que leia um conjunto de 10 números inteiros positivos. Seu programa deve determinar e imprimir o maior deles. Use o laço FOR.\n\n#### [Exercicio 004](listaexercicios02/ex004.java)\nFaça um programa que gere a seguinte série: 10, 20, 30, 40, ..., 990, 1000. Use o laço FOR.\n\n#### [Exercicio 005](listaexercicios02/ex005.java)\nFaça um programa para imprimir os números pares entre 100 e 1, em ordem decrescente, ou seja, o laço deve iniciar em 100 e encerrar em 1. Use o laço FOR.\n\n#### [Exercicio 006](listaexercicios02/ex006.java)\nFaça um programa para ler e escrever dados de uma turma de 5 alunos. O programa deve pedir dados como nome, idade e sexo. O programa deve imprimir os dados do aluno mais velho. Use o laço DO-WHILE.\n\n#### [Exercicio 007](listaexercicios02/ex007.java)\nEscreva um programa que imprima todos os múltiplos de 7 menores que 200. Use o laço WHILE.\n\n#### [Exercicio 008](listaexercicios02/ex008.java)\nCalcular e mostrar a média aritmética dos números pares compreendidos entre 13 e 73. Utilize o laço que lhe for mais conveniente.\n\n#### [Exercicio 009](listaexercicios02/ex009.java)\nEscreva um programa para ler a quantidade de alunos existentes em uma turma. Depois disso, o programa deve ler as notas de cada um destes alunos, calcular e mostrar na tela a média aritmética destas notas. Utilize o laço WHILE.\n\n#### [Exercicio 010](listaexercicios02/ex010.java)\nFaça um programa que calcule e imprima o resultado da soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.\n\n![img 10](/listaexercicios02/10.png)\n\n#### [Exercicio 011](listaexercicios02/ex011.java)\nFaça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.\n\n![img 11](/listaexercicios02/11.png)\n\n#### [Exercicio 012](listaexercicios02/ex012.java)\nFaça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.\n\n![img 12](/listaexercicios02/12.png)\n\n#### [Exercicio 013](listaexercicios02/ex013.java)\nFaça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.\n\n![img 13](/listaexercicios02/13.png)\n\n#### [Exercicio 014](listaexercicios02/ex014.java)\nFaça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.\n\n![img 14](/listaexercicios02/14.png)\n\n#### [Exercicio 015](listaexercicios02/ex015.java)\nFaça um programa que leia um número inteiro N maior do que zero e calcule o fatorial desse número. Fatorial de N é representado por N! e calculado da seguinte maneira:\n𝑁! = 𝑁 ∗ (𝑁 − 1) ∗ (𝑁 − 2) ∗. . .∗ 3 ∗ 2 ∗ 1\nUtilize o laço que lhe for mais conveniente.\n\n#### [Exercicio 016](listaexercicios02/ex016.java)\nLeia um valor inteiro N. Este valor será a quantidade de valores que serão lidos em seguida do usuário.\nPara cada valor lido, mostre uma mensagem em português dizendo se este valor lido é par (PAR), ímpar (ÍMPAR), positivo (POSITIVO) ou negativo (NEGATIVO). No caso do valor ser igual a zero (0), seu programa deverá imprimir apenas NULO. Utilize o laço DO-WHILE.\n\n#### [Exercicio 017](listaexercicios02/ex017.java)\nLer um número inteiro N e calcular e imprimir todos os seus divisores. Exemplo: para o número 6, temos os seguintes divisores 1, 2, 3, 6. Utilize o laço que lhe for mais conveniente.\n\n#### [Exercicio 018](listaexercicios02/ex018.java)\nA seguinte sequência de números 0, 1, 1, 2, 3, 5, 8, 13, 21... é conhecida como série de Fibonacci. Nessa sequência, cada número, depois dos 2 primeiros, é igual à soma dos 2 anteriores. Escreva um algoritmo que leia um inteiro N (onde N \u003c 46) e mostre os N primeiros números dessa série. Utilize o laço que lhe for mais conveniente.\n\n#### [Exercicio 019](listaexercicios02/ex019.java)\nEscreva um programa que repita a leitura de uma senha até que ela seja válida. Para cada leitura de senha incorreta informada, escrever a mensagem \"Senha Invalida\". Quando a senha for informada corretamente deve ser impressa a mensagem \"Acesso Permitido\" e o algoritmo encerrado. Considere que a senha correta é o valor 2002. Utilize o laço que lhe for mais conveniente.\n\n#### [Exercicio 020](listaexercicios02/ex020.java)\nEscreva um programa capaz de ler o saldo inicial de uma conta bancária e um número indeterminado de operações de depósito e saque.\nO usuário deve digitar “1” para realizar um depósito, “2” para realizar um saque.\nApós digitar o código da operação, o usuário deve digitar o valor. As operações devem continuar sendo realizadas até que o usuário digite o código de operação “3”.\nAo digitar “3”, o programa deve ser encerrado e o saldo final da conta deve ser impresso com as seguintes mensagens: CONTA ZERADA (caso o saldo final seja 0), CONTA ESTOURADA (se o saldo for negativo) ou CONTA PREFERENCIAL (se o saldo for positivo).\nUtilize o laço DO-WHILE.\n\n#### [Exercicio 021](listaexercicios02/ex021.java)\nNa matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo o número 6 é perfeito, pois 1+2+3 é igual a 6. Sua tarefa é escrever um programa que imprima se um determinado número é perfeito ou não. Utilize o laço que lhe for mais conveniente.\n\n[:arrow_up: voltar para o índice :arrow_up:](#índice)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatinaomi%2Flista-de-exercicios-java-fiap-1-sem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatinaomi%2Flista-de-exercicios-java-fiap-1-sem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatinaomi%2Flista-de-exercicios-java-fiap-1-sem/lists"}