Exerccios de Programao em Java Exerccios passados em sala: 1. Escreva um algoritmo para imprimir os nmeros pares de 1 a 50.
public class Pares { public static void main(String[] args) { for (int i =1;i <=50;i++) if (i%2 == 0) [Link]("I: " + i + " par"); } }
2. Escreva um algoritmo para identificar se um nmero primo ou no. O nmero deve ser lido pelo teclado.
import [Link].*; public class TestaPrimo { public static void main(String[] args) { Scanner N = new Scanner ([Link]); int contador = 0; [Link]("Digite o N a ser testado:"); int x = [Link](); for (int i =2; i <= x ; i++) if (x % i == 0) contador++; if (contador == 1) [Link]("O nmero testado primo"); else [Link]("O nmero testado no primo"); } }
3. Calcule o fatorial de inteiro digitado pelo usurio.
import [Link].*; public class Fatorial { public static void main(String[] args) { Scanner a = new Scanner([Link]); [Link]("Digite o nmero a ser calculado o fatorial: "); int x = [Link] (); int fat = 1; for (int i = 1; i <= x; i ++) fat = fat * i; [Link]("O fatorial de " + x +" : " + fat); } }
4. Imprima na tela a srie fibonacci at o seu 20 termo.
public class Fibonnacci { public static void main(String[] args) { int a,b,c; a=1; b=1; [Link]("1 Termo: " + a); [Link]("2 Termo: " + b); for (int i = 2; i< 10;i++){ c=a+b; a=b; b=c; [Link](i+1 + " Termo: " +c); } } }
5. Crie um vetor para armazenar notas preenchidas pelo teclado e depois calcule a mdia.
import [Link].*; public class mediaVetor { public static void main(String[] args) { Scanner a = new Scanner([Link]); [Link]("Digite o numero de notas"); double x [] = new double [[Link]()]; double soma = 0; for(int i=0; i < [Link] ;i++){ [Link]("Digite a nota: " ); x[i] = [Link](); soma = soma + x[i]; } double media = soma/[Link]; [Link]("A mdia foi: " + media); } }
6. Crie um vetor para armazenar nomes de pessoas digitados e ordenados.
import [Link].*; public class vetorStrings { public static void main(String[] args) { Scanner a = new Scanner ([Link]); [Link]("Digite quantos nomes preenchero o vetor"); String x [] = new String [[Link]()]; [Link]("Digite os nomes que preenchero o vetor"); for (int i = 0; i < [Link]; i++) x[i]=[Link](); [Link](x); for (int i = 0; i < [Link]; i++) [Link](x[i]); } }
7. Escreva um algoritmo que identifica se um vetor A idntico ao inverso de um vetor B.
import [Link].*; public class ComparacaoDeVetores { public static void main(String[] args) { int x []= new int [3]; int y []= new int [3]; Scanner s = new Scanner ([Link]); [Link]("Vetor X"); for (int i = 0; i < [Link]; i++) x[i]= [Link](); [Link]("Vetor Y"); for (int i = 0; i < [Link]; i++) y[i]= [Link](); boolean iguais = true; int j = [Link] - 1; for (int i = 0; i < [Link]; i++){ if (x[i] != y[j]) iguais = false; j--; } if (iguais) [Link]("O vetor X igual ao inverso do vetor Y!"); else [Link]("Os vetores digitados so diferentes!"); } }
8. Escreva um algoritmo para calcular a transposta de uma matriz.
public class CalculaTransposta { public static void main(String[] args) { int [][] x = {{0,1,2},{0,0,6},{1,2,9}}; int [][] Transposta = new int [3] [3]; for (int i = 0; i < [Link]; i++){ for(int j = 0; j < [Link]; j++){ Transposta[i][j]=x[j][i]; [Link](Transposta[i][j]+" "); } [Link](); } } }
9. Crie as classes como especificado abaixo. Em seguida crie uma outra classe para criar 2 duas circunferncias e 3 tringulos e efetuar os devidos clculos. Circunferncia - raio: double + Circunferncia (r: double) + CalcularArea(): double + CalcularDiametro(): double + Gets e Sets Classe circunferncia:
public class Circunferencia { private double raio; public Circunferencia (double raio){ [Link] = raio; } public double CalcularDiametro(){ return 2 * raio; } public double CalcularArea(){ return [Link] * raio * raio; } public double CalcularPerimetro(){ return 2 * [Link] * raio; } public double getRaio(){ return raio; } public void setRaio(double novoRaio){ raio = novoRaio; } }
Tringulo - base: double - altura: double + Triangulo (b: double, a: double) + CalcularArea(): double + Gets e Sets
Classe Tringulo:
public class Triangulo { private double base; private double altura; public Triangulo (double base, double altura){ [Link] = base; [Link] = altura; } public double CalcularArea(){ return base * altura/2; } public double getBase(){ return base;
} public void setBase(double novaBase){ base = novaBase; } public double getAltura(){ return altura; } public void setAltura (double novaAltura){ altura = novaAltura; } }
Classe Matemtica (para efetuar as operaes das outras classes):
import [Link].*; public class Matematica { public static void main (String [] args){ Scanner a = new Scanner([Link]); [Link]("Digite a base e a altura do tringulo:"); Triangulo T = new Triangulo ([Link](), [Link]() ); [Link] ("Base do tringulo: " + [Link]()); [Link] ("Altura do tringulo: " + [Link]()); [Link] ("rea do tringulo: " + [Link]()); [Link] Circunferencia C = [Link] [Link] [Link] [Link] } } ("Digite o raio da Circunferncia:"); new Circunferencia ([Link]()); ("Raio da Circunferncia: " + [Link]()); ("rea da Circunferncia: " + [Link]()); ("Diametro da Circunferncia: " + [Link]()); ("Perimetro da Circunferncia: "+ [Link]());
10. Crie uma classe chamada Filme e uma classe Oscar para efetuar as operaes da primeira.
public class Filme { private String titulo, genero; private double nota1,nota2; private int cont=0; public Filme(String T, String genero){ titulo = T; [Link] = genero; } public double getNota1() { return nota1; } public void setNota1(double nota1) { this.nota1 = nota1; } public double getNota2() { return nota2; } public void setNota2(double nota2) { this.nota2 = nota2; } public void votar (double nota){ cont++; if(cont==1) nota1 = nota; else nota2=nota; } public double obterAvaliacao(){ return ((nota1+nota2)/2); }
public String getTitulo(){ return titulo; } public void setTitulo (String t){ titulo = t; } public String getGenero(){ return genero; } public void setGenero(String g){ genero = g; } } import [Link].*; public class Oscar { public static void main (String []args){ Scanner x = new Scanner([Link]); [Link]("Digite o ttulo e o gnero do filme A: "); Filme a = new Filme ([Link](),[Link]()); [Link]("Digite o ttulo e o gnero do filme B: "); Filme b = new Filme ([Link](),[Link]()); [Link]("Digite as notas do filme A: "); for(int i =1; i<=3;i++) [Link]([Link]()); [Link](); [Link]("Digite as notas do filme B: "); for(int i =1; i<=3;i++) [Link]([Link]()); [Link](); if ([Link]() > [Link]()) [Link]("O oscar vai para " + [Link]()); else [Link]("O oscar vai para " + [Link]()); } }
Exerccios Nota de aula n 04: 11. Implemente um algoritmo para exibir a representao binria de um inteiro digitado pelo usurio (pelo menos 8 bits).
import [Link]; public class RepresentacaoBinaria { public static void main(String[] args) { Scanner a = new Scanner([Link]); [Link]("Digite o nmero a ser transformado em binrio: "); int x = [Link] (); String bin= [Link]( x ); [Link]("Equivalente em binrio : " + bin); } }
12. Implemente um algoritmo para imprimir a data atual do sistema no seguinte formato: 15 de Fevereiro de 2008 -Sexta-feira(17 horas, 51 minutos e 14 segundos).
import [Link]; public class Data { public static void main(String[] args) { String data; data = [Link]("%td "+"de "+"%<tB "+"de "+"%<tY"+" - "+"%<tA"+" ("+"%<tH "+ "horas, "+ "%<tM "+ "minutos e "+"%<tS "+"segundos"+")",[Link] ()); [Link](data); } }
Exerccios Nota de aula n 05: 13. Escreva um algoritmo para imprimir os nmeros primos de 2 at um valor digitado pelo usurio
public class Primos { private int n; public void numerosPrimos(){ for(int i = 2; i <= n ; i++) checandoPrimo(i); } public Primos (int n) { this.n = n; } public void checandoPrimo(int numero){ int total = 0; for(int i = 2; i <= (numero-1); i++) if((numero % i) == 0) total++; if(total == 0) [Link]("O numero %d primo.\n", numero); } } import [Link].*; public class testaPrimos { public static void main(String[] args) { Scanner a = new Scanner([Link]); [Link]("Digite o(s) N(s) para o teste: "); int x = [Link](); Primos objeto = new Primos(x); [Link](); } }
14. Escreva um algoritmo para imprimir em outro formato uma data digitada pelo usurio (utilize o comando switch). Valor digitado: 12/10/1998. Valor impresso: 12 de outubro de 1998.
import [Link].*; public class transformaData { public static void main(String[] args) { Scanner a = new Scanner ([Link]); [Link]("digite o dia"); int dia = [Link](); [Link]("digite o ms"); int mes = [Link](); [Link]("digite o ano"); int ano = [Link](); [Link]("Data digitada pelo usurio: " + dia+"/"+mes+"/"+ano); String m =""; switch (mes){ case 01: m = "Janeiro"; break; case 02: m = "Fevereiro"; break; case 03: m = "Maro"; break; case 04: m = "Abril"; break; case 05: m = "Maio"; break; case 06:
case case case case case case
m = "Junho"; break; 07: m = "Julho"; break; 8: m = "Agosto"; break; 9: m = "setembro"; break; 10: m = "Outubro"; break; 11: m = "Novembro"; break; 12: m = "Dezembro"; break;
default: [Link]("Digite uma data vlida"); } if (mes <= 12 ) [Link]("Data transformada: " + dia+" de "+m+" de "+ano); } }
Exerccios Nota de aula n 06: 15. Escreva um algoritmo para exibir a mdia de valores inteiros presentes em um vetor, preenchido por um usurio.
import [Link].*; public class mediaVetor { public static void main(String[] args) { Scanner a = new Scanner([Link]); [Link]("Digite o numero de notas"); double x [] = new double [[Link]()]; double soma = 0; for(int i=0; i < [Link] ;i++){ [Link]("Digite a nota: " ); x[i] = [Link](); soma = soma + x[i]; } double media = soma/[Link]; [Link]("A mdia foi: " + media); } }
16. Escreva um algoritmo para preencher um vetor com nomes de pessoas (via teclado), orden-lo e exib-lo.
import [Link].*; public class vetorStrings { public static void main(String[] args) { Scanner a = new Scanner ([Link]); [Link]("Digite quantos nomes preenchero o vetor"); String x [] = new String [[Link]()]; [Link]("Digite os nomes que preenchero o vetor"); for (int i = 0; i < [Link]; i++) x[i]=[Link](); [Link](x); for (int i = 0; i < [Link]; i++) [Link](x[i]); }
17. Escreva um algoritmo para exibir a matriz soma de duas outras.
public class matrizSoma { public static void main (String[ ]args){ int [][] x = {{0,1,2},{0,0,2},{1,2,9}}; int [][] y = {{1,2,0},{3,4,3},{1,5,6}}; int [][] soma = new int [3][3]; for (int i = 0; i < [Link] ; i++){ for(int j = 0; j < [Link]; j++){ soma [i][j] = x [i][j]+ y[i][j]; [Link](soma[i][j] + " "); } [Link](); } } }
18. Escreva um algoritmo para exibir a matriz produto de duas outras.
public class MatrizProduto{ public static void main (String[ ]args){ int [][] x = {{3,3,3},{6,6,4},{8,10,9}}; int [][] y = {{3,6,11},{5,6,11},{7,8,9}}; int [][] produto = new int [3][3]; for (int lin = 0; lin < [Link] ; lin++){ for(int col = 0;col < [Link]; col++){ produto[lin][col] = 0; for(int k = 0; k < [Link]; k++){ produto [lin][col] = produto[lin][col] + x[lin][k]*y[k][col]; } [Link](produto[lin][col] + " "); } [Link](); } } }
Exerccios Nota de aula n 07: 19. Crie uma classe chamada ContaCorrente e para testar uma classe Banco.
public class ContaCorrente { String numero; double saldo; public ContaCorrente (String n, double s){ numero = n; saldo = s; } public void creditar (double valor){ saldo = saldo + valor; } public void debitar (double valor){ saldo = saldo - valor; } public double getSaldo(){ return saldo; } } import [Link].*; public class Banco { public static void main(String[] args) { Scanner a = new Scanner ([Link]); [Link]("Conta Corrente: "); String n = [Link] (); [Link]("Saldo: ");
double s = [Link](); ContaCorrente d = new ContaCorrente(n,s); [Link]("O seu saldo atual de " + [Link]()); [Link]("Quanto deseja depositar ?"); s = [Link](); [Link](s); [Link]("Quanto deseja Sacar ?"); s = [Link](); [Link](s); [Link]("O seu saldo atual de " + [Link]()); } }
Exerccios Nota de aula n 08: 20. Crie uma classe chamada Tempo com todas suas caractersticas e efetue todas as operaes.
public class Tempo { private int hora; private int minuto; private int segundo; public static final int TIPO_HORA = 0; public static final int TIPO_MINUTO = 1; public static final int TIPO_SEGUNDO=2; public Tempo(int hora, int minuto, int segundo){ [Link] = hora; [Link] = minuto; [Link] = segundo; } public String ObterTempoFormatado(){ return hora+":"+minuto+":"+segundo; } public void AtualizaHora(){ if(hora>=24) hora=hora%24; } public void AtualizaMinuto(){ if(minuto>=60){ hora+=hora/60; minuto=minuto%60; } } public void AtualizaSegundo(){ if(segundo>=60){ minuto+=segundo/60; segundo = segundo%60; } AtualizaMinuto(); } public void ProximoTempo(int valor,int campo){ switch(campo){ case TIPO_HORA: AtualizaHora(); break; case TIPO_MINUTO: AtualizaMinuto(); break; case TIPO_SEGUNDO: segundo+=valor; AtualizaSegundo(); break; } } public static void main (String[] args){ Tempo t1 = new Tempo (10,59,30); String a = [Link]();
[Link](a); [Link](59,Tempo.TIPO_MINUTO); [Link]([Link]()); [Link](60, Tempo.TIPO_SEGUNDO); [Link]([Link]()); } }
Exerccios Nota de aula n 09: 21. Crie as classes ContaEspeciale ContaPoupanca e em seguida altere a classe banco para criar trs tipos de contas e efetuar crditos e dbitos em cada uma delas.
public class ContaCorrente { protected String numero; protected double saldo; public ContaCorrente(String n,double s){ numero=n; saldo=s; } public void creditar(double valor){ saldo += valor; } public void debitar(double valor){ if (saldo >= valor) saldo -= valor; else [Link]("Saldo insuficiente"); } public String getNumero() { return numero; } public void setNumero(String numero) { [Link] = numero; } public double getSaldo() { return saldo; } public void setSaldo(double saldo) { [Link] = saldo; } } public class ContaPoupanca extends ContaCorrente { private final double taxa = 0.01; public ContaPoupanca( String numero, double saldo){ super (numero,saldo); } public void renderJuros(){ saldo = saldo + saldo * taxa; } } public class ContaEspecial extends ContaCorrente{ private double limiteDeCredito; public ContaEspecial(String numero, double saldo, double lim){ super (numero,saldo); limiteDeCredito = lim; } public void debitar (double valor){ if (saldo + limiteDeCredito >= valor) saldo -= valor; else [Link]("Limite ultrapassado"); } } import [Link].*;
public class BancoBrasil { public static void main(String[] args) { Scanner a = new Scanner([Link]); [Link]("Digite o numero e o saldo da Conta Corrente!"); ContaCorrente CC = new ContaCorrente ([Link](),[Link]()); [Link]("Valor do Crdito: "); [Link]([Link]()); [Link]("Valor do Dbito: "); [Link]([Link]()); [Link]("Saldo Atual: " + [Link]()); [Link]("Digite o numero e o saldo da Poupana!"); ContaPoupanca CP = new ContaPoupanca ([Link](),[Link]()); [Link]("Valor do Crdito: "); [Link]([Link]()); [Link]("Valor do Dbito: "); [Link]([Link]()); [Link](); [Link]("Saldo Atual: " + [Link]()); [Link]("Digite o numero o saldo e o limite da Conta Especial!"); ContaEspecial CE = new ContaEspecial ([Link](),[Link](),[Link]()); [Link]("Valor do Crdito: "); [Link]([Link]()); [Link]("Valor do Dbito: "); [Link]([Link]()); [Link]("Saldo Atual: " + [Link]()); } }
22. Crie uma classe chamada FormaGeometrica, ela deve disponibilizar: Atributos: base, altura Mtodos: calcularArea, imprimirAtributos Crie as trs classes abaixo, filhas de FormaGeomtrica: Tringulo; Retngulo; Trapzio: contm um atributo a mais: baseMenor. Crie uma ltima classe que cria trs formas geomtricas e imprime os atributos e a rea de cada uma
public class FormaGeometrica { private double base; private double altura; public FormaGeometrica(double base, double altura){ [Link] = base; [Link] = altura; } public double calcularArea(){ return base * altura; } public double getBase(){ return base; } public double getAltura(){ return altura; } } public class Retangulo extends FormaGeometrica { public Retangulo(double base, double altura){ super( base,altura);
} } public class Triangulo extends FormaGeometrica{ public Triangulo(double base ,double altura){ super(base,altura); } public double calcularArea(){ return (getBase()*getAltura())/2; } } public class Trapezio extends FormaGeometrica{ private double baseMenor; public Trapezio(double base, double altura, double baseMenor){ super(base,altura); [Link] = baseMenor; } public double calcularArea(){ return (baseMenor + getBase())*getAltura()/2; } public double getBaseMenor(){ return baseMenor; } } import [Link].*; public class CalculoAreas { public static void main(String[] args) { Scanner a = new Scanner ([Link]); [Link]("Digite a Base e a Altura do retngulo!"); Retangulo R1 = new Retangulo([Link](),[Link]()); [Link]("Base do retngulo: " + [Link]()); [Link]("Altura do retngulo: " +[Link]()); [Link] ("A rea do retngulo : " + [Link]()); [Link]("Digite a Base e a Altura do tringulo!"); Triangulo T1 = new Triangulo([Link](),[Link]()); [Link]("Base do tringulo: " + [Link]()); [Link]("Altura do tringulo: " +[Link]()); [Link] ("A rea do tringulo : " + [Link]()); [Link]("Digite as Bases e a Altura do trapzio!"); Trapezio Tra1 = new Trapezio([Link](),[Link](), [Link]()); [Link]("Base maior do trapzio: " + [Link]()); [Link]("Base menor do trapzio: " + [Link]()); [Link]("Altura do trapzio: " +[Link]()); [Link] ("A rea do trapzio : " + [Link]()); } }