Introdução a OO .utfpr.edu.br
Exercícios de Java e OO
Lógica estruturada
Decisões
1) Fazer um programa em Java para:
• receber 3 valores n1, n2 e n3 do usuário
• verificar se estes valores podem ser os lados de um triângulo. Em caso afirmativo, informar se o triângulo é equilátero, isósceles ou escaleno.
2) Fazer um programa que recebe 3 valores não inteiros do usuário e mostra o maior deles, o menor deles e a média.
3) Fazer um programa que recebe duas notas parciais de um aluno (0 a 100) e informa se ele está aprovado, em exame final ou reprovado. Caso esteja em exame o programa deve pedir a nota do exame (0 a 100) e informar se o aluno está aprovado ou reprovado.
4) Solicite ao usuário para digitar um número, e mostre-o por extenso. Este número deverá variar entre 1 e 10. Se o usuário introduzir um número que não está neste intervalo, mostre: "número inválido". Faça duas versões deste programa:
• Use uma estrutura if-else para resolver este problema
• Use uma estrutura switch-case para resolver este problema
Fonte:
Repetições
5) Fazer uma classe Ex1Primos para:
• Receber um inteiro N do usuário
• Testar se este inteiro é primo ou não e informar
6) Fazer um programa para mostrar os 100 primeiros termos da série de Fibonacci.
7) Fazer um programa para mostrar todos os números perfeitos entre 1 e 100.
8) Fazer uma classe Ex2Sorteio para:
• Sortear um número de 0 a 1000 (dica: usar Math.random())
• Pedir um palpite ao usuário. Se ele errar, informar se o palpite é maior ou menor do que o número sorteado.
• Pedir novos palpites até que o usuário acerte e, depois disso, mostrar em quantas tentativas ele acertou.
9) Fazer um programa para receber dois números do tipo int do usuário e determinar se um número é permutação do outro ou não. Ex: 431 é permutação de 143, 42 é permutação de 204, 1211 é permutação de 1112, etc. O programa só deve aceitar números positivos.
10) Fazer um programa para medir os reflexos do usuário. O programa deve:
• Mostrar a palavra “Agora!” após um tempo aleatório e um número, também aleatório
• Contar o tempo até que o usuário digite o número pedido e mostrar esse tempo.
• Dicas: usar o método getTimeInMillis da classe Calendar ou o método nanoTime da classe System.
11) Dada a afirmação: “A tem o dobro da idade que B tinha quando A tinha a idade que B tem. Quando B tiver a idade de A, somarão 81 anos.”. Fazer um programa para calcular as idades de A e B no método “força bruta”.
12) Chico tem 1,50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1,10 metro e cresce 3 centímetros por ano. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Zé seja maior que Chico.
13) Faça uma classe que recebe do usuário a hora de inicio e a hora de término de um jogo, ambas subdivididas em 2 valores distintos: horas e minutos. A classe deve exibir a duração do jogo em minutos, considerando que o tempo máximo de duração de um jogo é de 24 horas e que o jogo pode começar em um dia e terminar no outro.
14) Torre de Hanói: considerando 3 torres, o objetivo é transferir 3 discos que estão na torre A para a torre C, usando uma torre B como auxiliar. Somente o último disco de cima de uma pilha pode ser deslocado para outra, e um disco maior nunca pode ser colocado sobre um menor. Implementar uma classe com um método recursivo que mostra a seqüência de movimentos para resolver o problema da Torre de Hanói.
String
15) Fazer uma classe ExecString que:
• Recebe duas strings do usuário (dica: usar nextLine da classe Scanner)
• Conta e informa quantas vezes a segunda string ocorre dentro da primeira
• Informa uma estatística dos caracteres contidos nas 2 strings.
16) Faça um programa que receba um nome completo na forma de uma String e mostre a abreviatura deste nome. Não se devem abreviar as palavras com 2 ou menos letras. A abreviatura deve vir separada por pontos. Ex: Paulo Jose de Almeida Prado. Abreviatura: P. J. de A. P.
17) Fazer um programa que receba uma string do usuário e mostre o conteúdo desta string de forma invertida.
18) Fazer um programa para:
• receber uma string do usuário
• contar e mostrar quantas palavras existem na string
• contar e mostrar quantas vogais existem na string
19) Um dos sistemas de encriptação mais antigos é atribuído a Júlio César: se uma letra a ser encriptada é a letra de número N do alfabeto, substitua-a com a letra (N+K), onde K é um número inteiro constante (César utilizava K = 3). Usualmente consideramos o espaço como zero e todos os cálculos são realizados com módulo-27. Dessa forma, para K = 1 a mensagem “Ataque ao amanhecer” se torna “bubrfabpabnboifdfs”. Faça um programa que receba como entrada uma mensagem e um valor de J e retorne a mensagem criptografada pelo código de César. Fraquezas: apenas 26 chaves possíveis. É possível utilizar conhecimento da linguagem para facilitar a busca.
Array
20) Pode-se calcular a área de um polígono a partir das coordenadas de seus vértices utilizando a seguinte fórmula:
Area = soma (X(n)*Y(n+1) – X(n)*Y(n-1)) / 2
sendo que:
p/ n = 1, n-1 = N (número de vértices)
p/ n = N, n+1 = 1
Escrever um programa em Java que:
• receba o número de vértices N do usuário
• receba N pares de coordenadas (X,Y) dos vertíces do polígono em arrays adequados
• calcule e mostre a área segundo a fórmula acima
21) Foi feita uma estatística nas 200 principais cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados:
• código da cidade
• estado (RS, SC, PR, SP, RJ, ...)
• número de veículos de passeio (em 2007)
• número de acidentes de trânsito com vítimas (em 2007)
Escrever um programa em Java para obter os dados e mostrar:
• qual o maior e o menor índice percentual de acidentes de trânsito e a que cidades pertencem
• qual a média de veículos nas cidades brasileiras
• qual a média de acidentes com vítimas entre as cidades do Rio Grande do Sul.
22) Fazer uma classe Ex3Array com as seguintes características:
• Atributos: array de inteiros e duas variáveis para controlar o número atual e máximo de elementos inseridos no array
• Métodos:
o Construtor que recebe o tamanho do array como parâmetro e inicializa o objeto (cria array, etc.)
o public boolean adicionar(int n) – adiciona elemento ao final do array, retornando true se bem sucedido e false caso contrário
o public int calculaMedia() – retorna a média aritmética dos números armazenados no array
Fazer a classe Ex3ArrayControle que:
• Pergunta, via console, qual o tamanho N do array que o usuário quer instanciar
• Instancia um objeto da classe Ex1Array, passando N como argumento
• Pergunta N números ao usuário e armazena no objeto instanciado
• Chama o método para calcular a média aritmética e mostra o resultado
23) Adaptar o exercício anterior para utilizar um objeto da classe ArrayList ao invés de um array comum.
24) Fazer um programa para receber um número do usuário e decompô-lo em fatores primos. Os fatores primos devem ser armazenados em um array com o tamanho exato (dica: primeiro determinar quantos são os fatores primos, depois criar o array para armazená-los).
25) A distância entre várias cidades é dada pela tabela abaixo (em km):
| |1 |2 |3 |4 |5 |
|1 |00 |15 |30 |05 |12 |
|2 |15 |00 |10 |17 |28 |
|3 |30 |10 |00 |03 |11 |
|4 |05 |17 |03 |00 |80 |
|5 |12 |28 |11 |80 |00 |
Implemente um programa que:
• leia a tabela acima em um array bidimensional. O programa não deve perguntar distâncias já informadas (por exemplo, se o usuário já forneceu a distância entre 1 e 3 não é necessário informar a distância entre 3 e 1, que é a mesma) e também não deve perguntar a distância de uma cidade para ela mesma, que é 0.
• leia um percurso fornecido pelo usuário em um array unidimensional.
Calcule e mostre a distância percorrida. Por exemplo: dado o percurso 1, 2, 3, 2, 5, 1, 4, para a tabela mostrada como exemplo teremos: 15 + 10 + 10 + 28 + 12 + 5 = 80 km.
26) Fazer uma classe Java para:
• receber um número N do usuário
• receber N números inteiros em um array unidimensional
• classificar em ordem crescente utilizando o método da bolha (bubble-sort)
• mostrar o array classificado
27) Fazer uma classe Java para:
• receber 3 notas parciais do aluno em um array e a nota do exame em uma variável separada (-1 se o aluno não fez exame).
• chamar o método calculaSituacao(), com as seguintes características:
i. Parâmetros: array de notas parciais e nota do exame
ii. Retorno: 0 se o aluno está reprovado direto, 1 se o aluno está reprovado em exame, 2 se o aluno está aprovado em exame e 3 se ele está aprovado direto.
28) Fazer um programa para calcular a matriz transposta de uma matriz quadrada, fornecida pelo usuário. O programa deve pedir o valor N da dimensão horizontal e vertical e em seguida os NxN valores da matriz.
Fonte:
29) Escreva um programa para:
• pedir 10 números ao usuário e armazenar esses valores em um array
• pedir um outro número ao usuário e calcular e mostrar quantos números do array são inferiores a esse número.
Fonte:
Exceções
30) Dado o trecho de código abaixo:
int[] array = new int[] { 2, 4, 6, 8, 10, 12 };
for (int i = 0; i ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- mercado personalizado tudo o que pode ser digitalizado
- introdução a oo
- exercícios teorema de bayes
- portal secretaria secretaria da educação de cosmópolis
- leia a entrevista que maurício de sousa deu ao jornal
- arquivo modelo para a elaboração de novos itens
- energy change
- desenho técnico com autocad 2007
- palavras poderosas topografia cadastral na prática