Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/patinaomi/lista-de-exercicios-java-fiap-1-sem

Lista de exercícios realizados durante o 1º semestre da matéria de Java da faculdade FIAP
https://github.com/patinaomi/lista-de-exercicios-java-fiap-1-sem

basic-programming brazil exercices exercicios exercicios-listas exercicios-resolvidos java lista logica-de-programacao portuguese-brazilian

Last synced: 8 days ago
JSON representation

Lista de exercícios realizados durante o 1º semestre da matéria de Java da faculdade FIAP

Awesome Lists containing this project

README

        

# Lista de Exercícios Básicos em Java

## Descrição
Este 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:

## Índice
* [Descrição](#descrição)
* [Provas](#enunciados)
* [CP1](#CP1)
* [CP2](#CP2)
* [CP3](#CP3)
* [Enunciados](#enunciados)
* [Lista 1](#--lista-1)
* [Lista 2](#--lista-2)

## Provas
### CP1
#### [Exercicio 001](cp1/Contador.java)
Exercício Contador
Criar 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;
Um método para zerar o contador;
Um método para incrementar o contador em uma unidade;◦Um método para decrementar o contador em uma unidade;
Um método para retornar o valor atual do contador;
O programa principal deve instanciar objetos da classe Contador e utilizar seus métodos.

#### [Exercicio 002](cp1/Lampada.java)
Exercício Lâmpada
Criar 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.
O programa principal deve instanciar objetos da classe Lâmpada e utilizar seus métodos.

#### [Exercicio 003](cp1/Conta.java)
Exercício Conta
Criar 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;
Criar um método depositar e um método sacar para realizar o depósito e o saque de valores da conta;
Restriçã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.
Criar métodos para acessar e modificar os atributos (getters e setters) para cada atributo da classe.
O programa principal deve instanciar objetos da classe Conta e utilizar seus métodos.

### CP2
#### [Exercicio 001](cp2/Monitoramento.java)
Sistema de monitoramento de temperaturas
Um 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.
Como 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:
1) Um método que solicite ao usuário qual o período será mapeado (dias/semana)
2) Um método para mapear/coletar as temperaturas em uma matriz (dias/semana)
3) Um método para obter a maior e a menor temperatura mapeada no período
4) Um método para ‘separar’ (em um array) as temperaturas negativas no período mapeado
5) Um método para obter a temperatura média no período
6) Função principal para testar o programa

### CP3
#### [Exercicio 001](cp3/Competicao.java)
Em 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:

![img 01](/cp3/img001.png)

#### [Exercicio 002](cp3/Consumo.java)
Faç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;
Quantos 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.

![img 02](/cp3/img002.png)

## Enunciados
### - Lista 1
#### [Exercicio 001](listaexercicios01/ex001.java)
Fazer um algoritmo que leia dois números e imprima na tela o produto (multiplicação) dos dois números.

#### [Exercicio 002](listaexercicios01/ex002.java)
Fazer um algoritmo que lê dois números, a base e o expoente, e imprime a potência (base elevada ao expoente).
Exemplo: 5 elevado ao cubo ficaria Math.pow(5,3). Você pode trocar esses números por variáveis.

#### [Exercicio 003](listaexercicios01/ex003.java)
Fazer um algoritmo que lê dois números e imprime a soma dos quadrados dos
dois números. O quadrado de um número A é representado por A² = A * A.

#### [Exercicio 004](listaexercicios01/ex004.java)
Fazer um algoritmo que lê dois números inteiros e imprime os números consecutivos desses números.
Por exemplo: se o usuário digitar 2 e -9, a saída deverá ser 3 e -8, porque 3 é consecutivo de 2.
-9 é consecutivo de -9

#### [Exercicio 005](listaexercicios01/ex005.java)
Fazer um algoritmo que leia um valor L e calcula a área de um quadrado de lado L.

#### [Exercicio 006](listaexercicios01/ex006.java)
Escreva um algoritmo que leia três números decimais: A, B e C. Em seguida, calcule e mostre:
a : a área do triângulo retângulo que tem A por base e C por altura.
A = b*h/2
b : a área do círculo de raio C. (π = 3.14159)
A = pi * raio²
c : a área do trapézio que tem A e B por bases e C por altura.
A = (B+b).h / 2
d : a área do quadrado que tem lado B.
A = lado * lado
e : a área do retângulo que tem lados A e B.
A = lado * lado
f : o perímetro do retângulo que tem lados A e B

#### [Exercicio 007](listaexercicios01/ex007.java)
Fazer um algoritmo que leia os dois lados A e B de um triângulo retângulo e calcula a hipotenusa do triângulo.
Para esse caso, considere que ℎ𝑖𝑝𝑜𝑡𝑒𝑛𝑢𝑠𝑎 = √𝐴² + 𝐵²
Dica: nesse programa, você deve usar a função matemática Math.sqrt(). Por exemplo, a raiz de 121 ficaria Math.sqrt(121).

#### [Exercicio 008](listaexercicios01/ex008.java)
Fazer um algoritmo que leia quatro números e imprime a média aritmética dos quatro números.

#### [Exercicio 009](listaexercicios01/ex009.java)
Escreva 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.
A seguir, mostre na tela o número e o salário do funcionário.

#### [Exercicio 010](listaexercicios01/ex010.java)
Faça um programa que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele
no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas,
calcular e imprimir o total a receber no final do mês

#### [Exercicio 011](listaexercicios01/ex011.java)
Fazer um algoritmo que lê um número e verifica se ele é negativo. Se for negativo, imprimir na tela a
mensagem "Numero negativo"

#### [Exercicio 012](listaexercicios01/ex012.java)
Fazer um algoritmo que leia dois números L e R. O programa deve verificar a maior área entre um quadrado
de lado L e um círculo de raio R. Imprimir na tela qual o maior: "Quadrado" ou "Círculo".

#### [Exercicio 013](listaexercicios01/ex013.java)
Fazer um algoritmo que leia três números e imprime o maior deles.

#### [Exercicio 014](listaexercicios01/ex014.java)
Fazer um algoritmo que leia dois números e imprime a divisão do maior pelo menor

#### [Exercicio 015](listaexercicios01/ex015.java)
Leia 3 números decimais A, B e C e efetue o cálculo das raízes da equação de Bhaskara.
Se 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
a mensagem correspondente “Impossível calcular”.

#### [Exercicio 016](listaexercicios01/ex016.java)
Leia a hora inicial e a hora final de um jogo. A seguir calcule a duração do jogo, sabendo que o mesmo pode
começar em um dia e terminar em outro, tendo uma duração mínima de 1 hora e máxima de 24 horas.

#### [Exercicio 017](listaexercicios01/ex017.java)
Leia 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
com 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
mensagem "Valores aceitos", senão escrever "Valores não aceitos".

#### [Exercicio 018](listaexercicios01/ex018.java)
Leia 3 números decimais A, B e C e ordene-os em ordem decrescente, de modo que o lado A representa o
maior dos 3 lados. A seguir, determine o tipo de triângulo que estes três lados formam, com base nos
seguintes casos, sempre escrevendo uma mensagem adequada:
* se A ≥ B+C, apresente a mensagem: NAO FORMA TRIÂNGULO
* se A² = B² + C², apresente a mensagem: TRIÂNGULO RETÂNGULO
* se A² > B² + C², apresente a mensagem: TRIÂNGULO OBTUSÂNGULO
* se A² < B² + C², apresente a mensagem: TRIÂNGULO ACUTÂNGULO
* se os três lados forem iguais, apresente a mensagem: TRIÂNGULO EQUILÁTERO
* se apenas dois dos lados forem iguais, apresente a mensagem: TRIÂNGULO ISÓSCELES

[:arrow_up: voltar para o índice :arrow_up:](#índice)

### - Lista 2
#### [Exercicio 001](listaexercicios02/ex001.java)
Faça um programa que mostre todos os números inteiros de 1 a 50. Use o laço WHILE.
#### [Exercicio 002](listaexercicios02/ex002.java)
Faça um programa que leia um número N do usuário, some todos os números inteiros de 1 a N, e mostre o resultado obtido. Use o laço WHILE.

#### [Exercicio 003](listaexercicios02/ex003.java)
Escreva um programa que leia um conjunto de 10 números inteiros positivos. Seu programa deve determinar e imprimir o maior deles. Use o laço FOR.

#### [Exercicio 004](listaexercicios02/ex004.java)
Faça um programa que gere a seguinte série: 10, 20, 30, 40, ..., 990, 1000. Use o laço FOR.

#### [Exercicio 005](listaexercicios02/ex005.java)
Faça um programa para imprimir os números pares entre 100 e 1, em ordem decrescente, ou seja, o laço deve iniciar em 100 e encerrar em 1. Use o laço FOR.

#### [Exercicio 006](listaexercicios02/ex006.java)
Faç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 laço DO-WHILE.

#### [Exercicio 007](listaexercicios02/ex007.java)
Escreva um programa que imprima todos os múltiplos de 7 menores que 200. Use o laço WHILE.

#### [Exercicio 008](listaexercicios02/ex008.java)
Calcular e mostrar a média aritmética dos números pares compreendidos entre 13 e 73. Utilize o laço que lhe for mais conveniente.

#### [Exercicio 009](listaexercicios02/ex009.java)
Escreva 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 média aritmética destas notas. Utilize o laço WHILE.

#### [Exercicio 010](listaexercicios02/ex010.java)
Faça um programa que calcule e imprima o resultado da soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.

![img 10](/listaexercicios02/10.png)

#### [Exercicio 011](listaexercicios02/ex011.java)
Faça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.

![img 11](/listaexercicios02/11.png)

#### [Exercicio 012](listaexercicios02/ex012.java)
Faça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.

![img 12](/listaexercicios02/12.png)

#### [Exercicio 013](listaexercicios02/ex013.java)
Faça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.

![img 13](/listaexercicios02/13.png)

#### [Exercicio 014](listaexercicios02/ex014.java)
Faça um programa que leia um número natural N e calcule a soma abaixo (lembre-se de que tanto as divisões quanto o resultado devem ser decimais). Utilize o laço que lhe for mais conveniente.

![img 14](/listaexercicios02/14.png)

#### [Exercicio 015](listaexercicios02/ex015.java)
Faça um programa que leia um número inteiro N maior do que zero e calcule o fatorial desse número. Fatorial de N é representado por N! e calculado da seguinte maneira:
𝑁! = 𝑁 ∗ (𝑁 − 1) ∗ (𝑁 − 2) ∗. . .∗ 3 ∗ 2 ∗ 1
Utilize o laço que lhe for mais conveniente.

#### [Exercicio 016](listaexercicios02/ex016.java)
Leia um valor inteiro N. Este valor será a quantidade de valores que serão lidos em seguida do usuário.
Para cada valor lido, mostre uma mensagem em português dizendo se este valor lido é par (PAR), ímpar (ÍMPAR), positivo (POSITIVO) ou negativo (NEGATIVO). No caso do valor ser igual a zero (0), seu programa deverá imprimir apenas NULO. Utilize o laço DO-WHILE.

#### [Exercicio 017](listaexercicios02/ex017.java)
Ler um número inteiro N e calcular e imprimir todos os seus divisores. Exemplo: para o número 6, temos os seguintes divisores 1, 2, 3, 6. Utilize o laço que lhe for mais conveniente.

#### [Exercicio 018](listaexercicios02/ex018.java)
A seguinte sequência de números 0, 1, 1, 2, 3, 5, 8, 13, 21... é conhecida como série de Fibonacci. Nessa sequência, cada número, depois dos 2 primeiros, é igual à soma dos 2 anteriores. Escreva um algoritmo que leia um inteiro N (onde N < 46) e mostre os N primeiros números dessa série. Utilize o laço que lhe for mais conveniente.

#### [Exercicio 019](listaexercicios02/ex019.java)
Escreva um programa que repita a leitura de uma senha até que ela seja vá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 é o valor 2002. Utilize o laço que lhe for mais conveniente.

#### [Exercicio 020](listaexercicios02/ex020.java)
Escreva um programa capaz de ler o saldo inicial de uma conta bancária e um número indeterminado de operações de depósito e saque.
O usuário deve digitar “1” para realizar um depósito, “2” para realizar um saque.
Após digitar o código da operação, o usuário deve digitar o valor. As operações devem continuar sendo realizadas até que o usuário digite o código de operação “3”.
Ao 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).
Utilize o laço DO-WHILE.

#### [Exercicio 021](listaexercicios02/ex021.java)
Na matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo o número 6 é perfeito, pois 1+2+3 é igual a 6. Sua tarefa é escrever um programa que imprima se um determinado número é perfeito ou não. Utilize o laço que lhe for mais conveniente.

[:arrow_up: voltar para o índice :arrow_up:](#índice)