You are on page 1of 10

FACULDADE FORTIUM

CURSO DE SISTEMAS DE INFORMAÇÃO

1. Quantas vezes o código abaixo será executado? Qual será o valor do contador
quando o laço terminar?
int count = 10;
do {
...
} while (count++ <= 15);
2. Escreva um laço que execute 20 vezes
a. Primeiramente como um while
b. Converta este laço para um do-while.
c. Agora escreva como for.
3. Escreva um laço (while, for, do-while) que resulte em um laço infinito.
4. Quantas vezes o laço abaixo irá executar? Qual o valor de x quando o laço terminar?
for (int x=3; x<12; x+=2) ++count;
5. Como você criaria uma matriz bidimensional de 20 x 10 elementos utilizando Java?
6. Dada uma matriz bidimensional, como descobrir as suas dimensões? (dica: uma
matriz em Java pode ser vista como um vetor de vetores)
7. Escreva um laço for que inicialize um vetor de 50 inteiros com os valores 50 a 99.
8. Escreva um laço for que inicialize uma matriz 10x15 com valores de 0 a 149.
9. Escreva um código que mostre, de forma tabular, os valores da matriz do exercício
anterior.
10. Escreva uma aplicação que, dados três valores inteiros diferentes entre si, apresente o maior de
tais valores.
11. Desenvolva uma aplicação que calcule a soma dos 10 primeiros números inteiros pares positivos.
12. Escreva uma aplicação que apresente os n primeiros números primos a partir do número 2 para
um valor n>0 fornecido pelo usuário.
13. Escreva uma aplicação que converta uma temperatura expressa em graus Celsius em seu valor
equivalente em graus Fahrenheit (C = 5/9*(F-32)) ou vice-versa de acordo com a opção de conversão
escolhida pelo usuário.
14. Escreva uma aplicação que determina a data cronologicamente maior de duas datas fornecidas
pelo usuário. Cada data deve ser fornecida por três valores inteiros onde o primeiro representa um dia,
o segundo um mês e o terceiro um ano.
15. Desenvolva um aplicativo que pede para o usuário digitar a altura e a base de um triângulo através
de uma caixa de diálogo, em seguida calcule e escreva a sua área.
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

16. Desenvolva um aplicativo que calcula e mostra o volume de um cilindro.Formula é pi * raio² *


altura.
17. Desenvolva um aplicativo que lê dois números e imprime a diferença entre os dois no DOS.
18. Desenvolva um aplicativo que calcula a média entre dois valores reais ( double ). Imprima os
valores e a média (Fazer no DOS).
18. Desenvolva um aplicativo que calcula a quantidade de litros de combustível gastos em uma
viagem., utilizando - se um automóvel que faz 12 Km/litro. Para obter o cálculo, o usuário deverá
fornecer o tempo gasto na viagem e a velocidade média durante a mesma. Desta forma, será possível
obter a distância percorrida com a fórmula DISTANCIA = TEMPO * VELOCIDADE. Tendo o valor
da distância, basta calcular a quantidade de litros de combustível utilizada na viagem com a formula
LITROS_USADOS = DISTANCIA/12 . O programa deverá apresentar os valores da velocidade
média, tempo gasto na viagem, a distância percorrida e a quantidade de litros utilizada na viagem.
19. Desenvolva um aplicativo que lê:
1. o código da peça 1,
2. a quantidade de peças 1,
3. o valor unitário da peça 1
4. o código da peça 2,
5. a quantiadade de peças 2,
6. o valor unitário da peça 2
7. percentagem de IPI a ser acrescentado;
calcular o valor total a ser pago e apresentar.
20. Escreva uma aplicação que calcule a nota de aproveitamento (A) de um aluno de acordo com o
critério de avaliação da disciplina. O usuário do programa deve fornecer as notas obtidas por um
aluno nas provas e a seguidas pelas notas obtidas em atividades de laboratório.
21. No sistema imperial freqüentemente são utilizadas as seguintes medidas lineares:
1 pé= 12 polegadas
1 jarda= 3 pés
1 milha= 1760 jardas
Baseado no fato de que 1 polegada equivale a 25.3995 milímetros no sistema métrico, escreva uma
aplicação que converta comprimentos expressos em milhas, jardas, pés e polegadas em quilômetros.
22. Diz-se que um número inteiro n é um quadrado perfeito se existirem m números ímpares
consecutivos a partir do valor 1 cuja soma é igual a n. Neste caso n=m2. Exemplo: 16=1+3+5+7 (16 é
igual à soma dos quatro primeiros ímpares a partir de
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

1) e 16=42. Logo 16 representa um quadrado perfeito. Escreva uma aplicação que verifique se
um valor inteiro positivo fornecido pelo usuário é um quadrado perfeito ou não.
23. Escreva um aplicativo que lê o nome e o salário de um funcionário. Se o o salário for menor que
R$ 500 fazer com que o salário receba o aumento do 10% e se for maior ou igual, fazer com que
receba aumento de 5%. Depois de verificado imprimir o nome do funcionário e o novo salário ( Use o
desvio condicional composto).
24. Faça um programa que analisa a quantidade de peças vendidas por um funcionário de uma loja
com a finalidade de conceder gratificação no salário dentro dos parâmetros:
1. até 30 - sem gratificação;
2. 31 a 60 - 10% sobre o salário;
3. 61 a 100 - 15% sobre o salário;
4. 101 a 150 - 20% sobre o salário;
5. mais de 150 - 30% sobre o salário.
Fornecer saída tipo:
Funcionário João das Dores gratificação R$ ____ , __
Salário total R$______, ___
**** Será necessário ler o nome do Funcionário, seu salário por mês e a quantidade de peças
vendidas
25. Escreva um aplicativo que lê dois números e determina e imprime se o primeiro é múltiplo do
segundo. ( Use o operador módulo - % )
26. Desenvolva um aplicativo que lê o número de identificação, as 4 notas obtidas pelo aluno nas 4
verificações e a calcule média das notas que fazem parte da avaliação (2 notas são trabalhos e 2 notas
são provas, sendo que a média dos trabalhos valem 30% da média e das provas valem 70%). Calcular
a média do aluno. O aplicativo deve escrever o número do aluno, suas notas, a média dos exercícios e
uma mensagem dizendo se o aluno foi APROVADO ou REPROVADO.
27. Faça um programa que lê 4 valores I, A, B e C onde I é um número inteiro e positivo e A, B, e C
são quaisquer valores reais. O programa deve escrever os valores lidos e:
1. se I = 1, escrever os três valores A, B e C em ordem crescente;
2. se I = 2, escrever os três valores A, B e C em ordem decrescente;
3. se I = 3, escrever os três valores A, B, e C de forma que o maior valor fique entre os outros
dois;
4. se I não for um dos três valores acima, dar uma mensagem indicando isto.
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

28. Escreva um programa que calcule o menor número de notas e de moedas que deve ser dado de
troco para um pagamento efetuado. O programa deve ler o valor a ser pago e o valor efetivamente
pago. Supor que o troco seja dado somente em notas de 10 e de 1 reais, e em moedas de 50, 10, 5 e 1
centavos.
29. Defina uma classe chamada Iteracao1. Esta classe deverá conter apenas o método main.No método
main declare uma variável inteira chamada contador e a inicialize com 0. Use um loop while para
imprimir o valor de contador enquanto este valor for menor ou igual a 10. Não se esqueça de incrementar
o valor de contador dentro do bloco de comandos do while.
30. Defina uma classe contendo dois métodos: o método main e o método numerosPares. No método
main você deverá imprimir: "Os números pares entre 0 e 20 são: ". Em seguida, ainda no método main
você deve fazer uma chamada para o método numerosPares. No método numerosPares você deve declarar
uma variável inteira chamada cont e inicializá-la com 0. Use em seguida um loop while para imprimir
todos os números pares de 0 a 20.
Note que você tem duas formas de fazer isto:
- Primeira forma: Você pode simplesmente incrementar cont de 2 em 2 unidades e imprimir o
valor de cont.
- Segunda forma: A outra alternativa é incrementar cont de 1 em 1 unidade e testar se o valor de
cont é divisível por 2 (para tanto basta testar se o resultado da operação cont mod 2 é igual à zero).
Pesquisar sobre o mod.
Quando for divisível por 2 você imprime cont, do contrário não.
Faça o exercício usando a primeira solução e depois usando a segunda solução, dando
nome às classes, respectivamente, de Pares1 e Pares2.
31. Refaça o exercício 1 usando agora um loop for. Chame a nova classe de Iteracao2.
32. Refaça o exercício 2 us ando agora um loop for. Chame as novas classes de Pares3 e Pares4 (para a
primeira solução e a segunda, respectivamente).
33. Java oferece uma variedade de métodos de classe da classe Math. Um destes métodos é o método
random(), que retorna um número aleatório entre 0.0 e 1.0. Defina uma classe chamada Aleatorios
contendo dois métodos: o método main e o método exibeAleatorios.
O método main deve ser responsável pela impressão na tela da seguinte frase:
"Quatro números aleatórios:” e deve chamar em seguida o método exibeAleatorios.
No método exibeAleatorios construa um loop for para imprimir 4 números aleatórios entre 0 e 10 gerados
pela chamada a Math.random(). Note que, como o método random gera valores entre 0.0 e 1.0, antes de
exibir os valores, você terá que multiplicá-los por 10.
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

34. A média de um conjunto de valores é igual ao resultado da soma destes valores dividido pelo número
de valores considerados. Assim, por exemplo, a média de 5.0, 7.0, 9.0 e 3.0 é:
Média = (5.0 + 7.0 + 9.0 + 3.0)/4
cujo resultado é 6.0.
Defina uma classe chamada Media1 contendo dois métodos: o método main e o método calculaMedia.
O método main deve ser responsável pela impressão na tela da seguinte frase:
"A média de 4 valores entre 0.0 e 10.0 é:” e deve chamar em seguida o método calculaMedia. No método
calculaMedia, você deve declarar, além da variável de loop, que você pode chamar de cont, por exemplo,
uma variável double com o nome de soma, a qual deverá ser inicializada com zero. Nesta variável soma
você somará todos os 4 valores (já multiplicados por 10) gerados pelo método Math.random(). Para tanto
use um loop for. Após terem sido executadas as 4 passagens do loop, a variável soma deverá conter a
soma dos 4 valores. Para obter a média, basta então dividir a variá vel soma por 4. Após feito isto, exiba o
resultado.
35. Faça uma pequena modificação ao programa do exercício anterior, de tal forma que o número de
valores a serem considerados no cômputo da média passe a ser um parâmetro do método calculaMedia.
Você terá que declarar uma variável inteira em main (chame-a de total), inicializá-la com algum valor,
digamos 6, e ao chamar calculaMedia, passá- la como argumento para este método.
Chame esta nova classe de Media2.
36. Implemente o programa abaixo e tente entender o seu funcionamento.
public class Iteracao3{
public static void main(String argv[]){
int contador = 0;
for ( ; contador <= 10; ){
System.out.println("Contador = "+contador);
contador ++;
}
}
}
Usado desta forma, o for se assemelha a um outro comando de iteração da linguagem Java. Que comando
é este?
Agora implemente o seguinte programa e veja o que acontece:
public class Iteracao4{
public static void main(String argv[]){
int contador = 0;
for ( ;; ){
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

System.out.println("Contador = "+contador);
contador ++;
}
}
}
37. Observe o programa abaixo e procure prever qual será a saída do mesmo na tela quando executado.
Em seguida, implemente-o e execute-o. A sua previsão se confirmou?
public class Desenho1{
public static void main(String argv[]){
int lado = 4;
desenhaQuadrado(lado);
}
public static void desenhaQuadrado(int lado){
for (int i = 1; i <= lado; i++){
for (int j = 1; j <= lado; j++)
System.out.print(" * ");
System.out.print("\n");
}
}
}
38. Considerando o exemplo do exercício anterior procure implementar um programa que desenha um
triângulo retângulo na tela com a base voltada para baixo. Chame a classe em questão de Triangulo1.java.
Defina no método main uma variável inteira chamada base e atribua a ela um valor, digamos 4. Do
método main chame o método desenhaTriangulo, passando como argumento para ele a variável base. Para
o valor de base igual a 4, a saída do programa deverá ser:
*
**
***
****
39. Modifique o programa do exercício 38 de tal forma que o triângulo desenhado na tela tenha a sua base
voltada para cima (Chame a nova classe de Triangulo2). Assim, para o valor de base igual a 4, a saída do
programa deverá ser:
****
***
**
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

*
40.Faça uma classe Conta que contenha o nome do cliente, o numero da conta, o saldo e o limite. Estes
valores deverão ser informados no construtor, sendo que o limite não poderá ser maior que o valor do
salario mensal do cliente. Faca um método deposito e um método retira. O método retira ira devolver true
ou false, dependendo se o cliente pode retirar. Faca um método saldo que retorne o saldo do cliente.
41. Faca uma classe ContaEspecial que funciona como a classe do exercício 40 mas que aceite um limite
de ate 3x o valor do salario do cliente.
42.Faca uma classe Cartao que receba um objeto do tipo conta e uma senha. Devera conter um metodo
retirada e um método saldo, semelhante à classe do exercício 1, mas que receba uma senha que devera ser
a mesma armazenada no cartão. Faca também um método que altere a senha, desde que receba a senha
antiga como parâmetro.
43.Escreva uma aplicação simples capaz de receber um argumento imprimindo as seguintes informações:
o argumento recebido, a quantidade de caracteres do argumento, o primeiro e o último caractere do
argumento. (Um argumento é um objeto da class java.lang.String).
44.Escreva uma aplicação de console que imprima o fatorial de um dado número inteiro n recebido
como argumento.
45.Escreva uma aplicação que imprima os todos os valores da soma do inteiros para um dado número
inteiro n recebido como argumento:
n=0, 0=0
n=1, 0+1=1
n=2, 0+1+2=3
n=3, 0+1+2+3=6
...

46. Escreva uma aplicação que receba como primeiro argumento obrigatório um NomeDaClasse,
como segundo argumento opcional o nome da superclasse (completamente qualificado) a ser utilizada
e como argumentos adicionais opcionais o nome das interfaces (completamente qualificado) a serem
implementadas imprimindo na tela um "esqueleto" da nova classe pretendida, tal como o exemplo
abaixo.
/*
* Classe: NomeDaClasse
*/
public class NomeDaClasse extends Jframe
implements ActionListener {
/*
* Campos
*/
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

/*
* Construtor default
*/
public NomeDaClasse() {
}

/*
* Métodos
*/

/*
* Interface ActionListener
*/
public void actionPerformed(ActionEvent e) {
}
}
47. Construa uma classe Fracao capaz de representar frações do tipo n/d (numerador/denominador),
sendo que tais campos devem ser privados. Tal classe deve possui um construtor default sem
parâmetros), um construtor parametrizado com os valores de n e d, métodos para determinar e
modificar os valores de n e d, métodos para somar, subtrair, multiplicar e dividir uma fração por outra
e um método para retornar uma String que represente o objeto.
48. Escreva uma aplicação de console que recebendo os valores n e d correspondentes a duas frações
f1 e f2 exiba o resultado de f1+f2, f1-f2, f1*f2 e f1/f2 utilizando os métodos da classe Fracao definida
no exercício anterior.
49. 1. Explique o que são classes e objetos. Dê exemplos.
2. Explique o que são atributos e métodos de uma classe. Dê exemplos.
3. Explique quando se faz necessário a criação dos métodos gets e sets em uma classe?
Exemplifique.
4. O que é assinatura de um método?
5. O que é um tipo primitivo? Cite todos os tipos primitivos do Java, incluindo o maior e
menor valor que cada tipo pode receber. Cite a diferença entre primitivo e referencia.
6. Explique o que é o método “construtor” e qual sua finalidade. Dê exemplos.
7. Explique o que é o método toString() e qual sua finalidade. Dê exemplos.
8. Explique o que é o método equals() e qual sua finalidade. Dê exemplos.
9. O que significa herança e polimorfismo em relação à linguagem orientada a objetos?
10. O que você entende por generalização e especialização em OO?
11. Explique a diferença das palavras reservadas private, protected, default e public, em
relação a classe onde está sendo usada. Dê exemplos.
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

50. Escreva um programa em Java que leia o código de determinado produto e mostre sua classificação.
Utilize a seguinte tabela como referência.
Classificação
Código
1 Alimento não perecível
2, 3 ou 4 Alimento perecível
7 Vestuário
8 até 15 Higiene pessoal
Qualquer outro código Inválido

51.Elabore um programa em Java, que calcule o que deve ser pago por um produto considerando o preço
normal de etiqueta e a escolha da condição de pagamento. Utilize os códigos da tabela a seguir para ler
qual a condição de pagamento escolhida e efetuar o cálculo adequado.
Condição de Pagamento
Código
1 À vista em dinheiro ou cheque, recebe
10% de desconto.
2 À vista no cartão de crédito, recebe 5%
de desconto.
3 Em 2 vezes, preço normal de etiqueta
sem juros.
4 Em 3 vezes, preço normal de etiqueta
mais juros de 10%
52. Escreva um algoritmo que leia o salário de cada funcionário de uma empresa (usando uma e
strutura de repetição) e calcule o salário reajustado do funcionário, estabelecendo três condições para se
calcular o reajuste.
a. salário < que 500, reajuste de 15%
b. salário >= a 500 mas <= 1000, reajuste de 10%
c. salário > que 1000, reajuste de 5%
Ao final, o programa deverá exibir quantos funcionários foram lidos e o total de reajustes (quanto
a empresa gastará mais com a folha de pagamento). Utilize o salário = 0 como condição de fim de dados.
53. Preencha as lacunas em cada uma das seguintes instruções:

a) Um(a) ________ inicia o corpo de cada método e um(a)_______ termina o corpo de cada método.
b) Cada instrução termina com um(a)_________.
c) A instrução _________ é utilizada para tomar decisões.
d) ______ iniciar um comentário de fim de linha.
e) ______, _______, ______ e ______ são chamados de espaços em branco.
f) ______ são reservados para uso pelo Java.
g) Aplicativos Java iniciam a execução no método ______.
h) Os métodos ______, ______ e ______ exibem informações na janela de comando.
FACULDADE FORTIUM
CURSO DE SISTEMAS DE INFORMAÇÃO

54.Determine se cada um dos seguintes exemplos é verdadeiro ou falso. Se falso, explique por quê.
a) Os comentários fazem com que o computador imprima o texto depois de // na tela quando o
programa executa.
b) Todas as variáveis devem ser atribuídas a um tipo quando são declaradas.
c) O Java considera que as variáveis number e NuMbEr são idênticas.
d) O operador de resto (%) pode ser utilizado apenas com operandos inteiros.
e) Os operadores aritméticos *, /, %, + e – têm, todos, o mesmo nível de precedência.

55. Escreva uma classe Linha que possua um método imprimeLinha que, ao ser evocado,
imprime uma linha de caracteres "X" na diagonal na tela de interações do DrJava. Use laços while!
DICA: você vai precisar do método System.out.print(), que imprime seu argumento na tela
mas não passa para a linha seguinte; imprima linhas com número crescente de espaços no começo e o
caracter "X" no final.
56. Faça uma classe TV que ira herdar de Produto. Devera ter um método Assistir que retornara uma
String contendo o canal que esta assistindo. Devera conter um método trocaCanal. Devera alterar o
toString de forma a acrescentar o canal.
57. Crie, em Java, uma classe Computador. Ele deve ter velocidade do processador, memória RAM,
memória de vídeo, monitor (tamanho), um valor booleano que indique se está ligado ou desligado. O
computador deve possuir os métodos:
insereMemoriaRAM (int qtde) > insere uma quantidade de RAM, sabendo que o limite é
2048 MB
tiraMemoriaRAM (int qtde) > insere uma quantidade de RAM, até o limite de 0 MB
Para colocar ou tirar RAM deve-se verificar se o computador está desligado.
Transforme este modelo em uma classe Java.
58. Crie uma outra classe com o método main. A classe do computador deve chamar-se Computador,
e a classe de teste você pode nomear como quiser. Faça alguns testes que validem a classe
Computador. Em vez de utilizar uma int para representar o monitor, crie uma outra classe, chamada
Monitor. Ela possui dois campos, uma String representando a marca, e um int representando o
tamanho. Faça com que seu computador passe a usá-la.

You might also like