Partilhar: Classroom Teams WhatsApp
aulify
UC UC00619 · T. Desenv. Software

Ficha 01 · Java fundamentos

Sintaxe, OOP, coleções
Versão · Aluno
Tempo · 4 horas
Aluno(a)
Turma
Nº
Data

Exercício 0 · Pensar antes de programar

Escreve em pseudocódigo o algoritmo «maior valor de uma lista de números». Faz o teste de mesa com a lista [3, 8, 5], registando o valor de cada variável a cada passo. Só depois o traduzes para um método Java static int maior(int[] v).

Resposta:

Exercício 1 · Hello World e variáveis

Cria uma classe Apresentacao que peça ao utilizador o nome e a idade, e responda com "Olá, [nome]. Daqui a 10 anos terás [idade+10] anos.".

Resposta:

Exercício 2 · Tabuada

Cria um programa que peça um número n ao utilizador e imprima a tabuada de 1 a 10 desse número.

Resposta:

Exercício 3 · Classe Carro

Cria a classe Carro com atributos marca, modelo, ano (todos privados). Construtor que recebe os 3, getters, e método descrever() que imprime tudo formatado. Cria 2 carros no main e descreve-os.

Resposta:

Exercício 4 · Conta bancária

Cria a classe ContaBancaria com titular (String) e saldo (double). Métodos: depositar(double), levantar(double) (lança IllegalArgumentException se saldo insuficiente), getSaldo(). Testa no main.

Resposta:

Exercício 5 · Herança · ContaPoupanca

Cria a classe ContaPoupanca extends ContaBancaria com um método aplicarJuros(double taxa) que acrescenta ao saldo os juros correspondentes. O saldo é private na classe mãe, por isso não lhe podes tocar diretamente: resolve o problema usando apenas os métodos públicos que herdaste.

Resposta:

Exercício 6 · Lista de compras

Usa um ArrayList<String> para gerir uma lista de compras. Adiciona 5 itens, remove 2 pelo índice, imprime quantos sobram e percorre a lista com foreach.

Resposta:

Exercício 7 · Agrupar nomes por inicial (Map)

Dada a lista de nomes Ana, Bruno, Beatriz, Carla, Alberto, Bernardo, agrupa-os pela letra inicial usando um Map<Character, List<String>> e imprime cada grupo, por ordem alfabética da inicial.

Resultado esperado:

A: [Ana, Alberto]
B: [Bruno, Beatriz, Bernardo]
C: [Carla]
Resposta:

Exercício 8 · Interface Tributavel e imposto total

Cria a interface Tributavel com o método double imposto(). Implementa-a em Automovel (cilindrada em cm³; imposto = cilindrada / 10.0) e em Mota (cilindrada em cm³; imposto = cilindrada / 25.0). Cria um List<Tributavel> com um automóvel de 1600, uma mota de 125 e um automóvel de 2000, e imprime o imposto total.

Resultado esperado: Imposto total: 365.0€.

Resposta:

Exercício 9 · Aprender um método na documentação

Sem procurar exemplos noutros sítios, abre a documentação da API de Java 21 (docs.oracle.com/en/java/javase/21/docs/api), procura a classe java.lang.String e localiza o método repeat. Responde, só com o que lês na página: (a) qual é a assinatura; (b) o que devolve "ab".repeat(0); (c) o que acontece com um argumento negativo. Depois usa o método para imprimir um triângulo de asteriscos com 4 linhas.

Resposta: