Anda di halaman 1dari 12

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) System.out.println("I: " + i + " par"); } }

2. Escreva um algoritmo para identificar se um nmero primo ou no. O nmero deve ser lido pelo teclado.
import java.util.*; public class TestaPrimo { public static void main(String[] args) { Scanner N = new Scanner (System.in); int contador = 0; System.out.println("Digite o N a ser testado:"); int x = N.nextInt(); for (int i =2; i <= x ; i++) if (x % i == 0) contador++; if (contador == 1) System.out.println("O nmero testado primo"); else System.out.println("O nmero testado no primo"); } }

3. Calcule o fatorial de inteiro digitado pelo usurio.


import java.util.*; public class Fatorial { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.print("Digite o nmero a ser calculado o fatorial: "); int x = a.nextInt (); int fat = 1; for (int i = 1; i <= x; i ++) fat = fat * i; System.out.println("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; System.out.println("1 Termo: " + a); System.out.println("2 Termo: " + b); for (int i = 2; i< 10;i++){ c=a+b; a=b; b=c; System.out.println(i+1 + " Termo: " +c); } } }

5. Crie um vetor para armazenar notas preenchidas pelo teclado e depois calcule a mdia.
import java.util.*; public class mediaVetor { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.println("Digite o numero de notas"); double x [] = new double [a.nextInt()]; double soma = 0; for(int i=0; i < x.length ;i++){ System.out.println("Digite a nota: " ); x[i] = a.nextDouble(); soma = soma + x[i]; } double media = soma/x.length; System.out.println("A mdia foi: " + media); } }

6. Crie um vetor para armazenar nomes de pessoas digitados e ordenados.


import java.util.*; public class vetorStrings { public static void main(String[] args) { Scanner a = new Scanner (System.in); System.out.println("Digite quantos nomes preenchero o vetor"); String x [] = new String [a.nextInt()]; System.out.println("Digite os nomes que preenchero o vetor"); for (int i = 0; i < x.length; i++) x[i]=a.next(); java.util.Arrays.sort(x); for (int i = 0; i < x.length; i++) System.out.println(x[i]); } }

7. Escreva um algoritmo que identifica se um vetor A idntico ao inverso de um vetor B.


import java.util.*; public class ComparacaoDeVetores { public static void main(String[] args) { int x []= new int [3]; int y []= new int [3]; Scanner s = new Scanner (System.in); System.out.println("Vetor X"); for (int i = 0; i < x.length; i++) x[i]= s.nextInt(); System.out.println("Vetor Y"); for (int i = 0; i < y.length; i++) y[i]= s.nextInt(); boolean iguais = true; int j = x.length - 1; for (int i = 0; i < x.length; i++){ if (x[i] != y[j]) iguais = false; j--; } if (iguais) System.out.println("O vetor X igual ao inverso do vetor Y!"); else System.out.println("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 < x.length; i++){ for(int j = 0; j < x.length; j++){ Transposta[i][j]=x[j][i]; System.out.print(Transposta[i][j]+" "); } System.out.println(); } } }

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){ this.raio = raio; } public double CalcularDiametro(){ return 2 * raio; } public double CalcularArea(){ return Math.PI * raio * raio; } public double CalcularPerimetro(){ return 2 * Math.PI * 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){ this.base = base; this.altura = 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 java.util.*; public class Matematica { public static void main (String [] args){ Scanner a = new Scanner(System.in); System.out.println("Digite a base e a altura do tringulo:"); Triangulo T = new Triangulo (a.nextDouble(), a.nextDouble() ); System.out.println ("Base do tringulo: " + T.getBase()); System.out.println ("Altura do tringulo: " + T.getAltura()); System.out.println ("rea do tringulo: " + T.CalcularArea()); System.out.println Circunferencia C = System.out.println System.out.println System.out.println System.out.println } } ("Digite o raio da Circunferncia:"); new Circunferencia (a.nextDouble()); ("Raio da Circunferncia: " + C.getRaio()); ("rea da Circunferncia: " + C.CalcularArea()); ("Diametro da Circunferncia: " + C.CalcularDiametro()); ("Perimetro da Circunferncia: "+ C.CalcularPerimetro());

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; this.genero = 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 java.util.*; public class Oscar { public static void main (String []args){ Scanner x = new Scanner(System.in); System.out.println("Digite o ttulo e o gnero do filme A: "); Filme a = new Filme (x.next(),x.next()); System.out.println("Digite o ttulo e o gnero do filme B: "); Filme b = new Filme (x.next(),x.next()); System.out.println("Digite as notas do filme A: "); for(int i =1; i<=3;i++) a.votar(x.nextDouble()); a.obterAvaliacao(); System.out.println("Digite as notas do filme B: "); for(int i =1; i<=3;i++) b.votar(x.nextDouble()); b.obterAvaliacao(); if (a.obterAvaliacao() > b.obterAvaliacao()) System.out.println("O oscar vai para " + a.getTitulo()); else System.out.println("O oscar vai para " + b.getTitulo()); } }

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 java.util.Scanner; public class RepresentacaoBinaria { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.print("Digite o nmero a ser transformado em binrio: "); int x = a.nextInt (); String bin= Integer.toBinaryString( x ); System.out.print("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 java.util.Calendar; public class Data { public static void main(String[] args) { String data; data = String.format("%td "+"de "+"%<tB "+"de "+"%<tY"+" - "+"%<tA"+" ("+"%<tH "+ "horas, "+ "%<tM "+ "minutos e "+"%<tS "+"segundos"+")",Calendar.getInstance ()); System.out.println(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) System.out.printf("O numero %d primo.\n", numero); } } import java.util.*; public class testaPrimos { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.print("Digite o(s) N(s) para o teste: "); int x = a.nextInt(); Primos objeto = new Primos(x); objeto.numerosPrimos(); } }

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 java.util.*; public class transformaData { public static void main(String[] args) { Scanner a = new Scanner (System.in); System.out.println("digite o dia"); int dia = a.nextInt(); System.out.println("digite o ms"); int mes = a.nextInt(); System.out.println("digite o ano"); int ano = a.nextInt(); System.out.println("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: System.out.println("Digite uma data vlida"); } if (mes <= 12 ) System.out.println("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 java.util.*; public class mediaVetor { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.println("Digite o numero de notas"); double x [] = new double [a.nextInt()]; double soma = 0; for(int i=0; i < x.length ;i++){ System.out.println("Digite a nota: " ); x[i] = a.nextDouble(); soma = soma + x[i]; } double media = soma/x.length; System.out.println("A mdia foi: " + media); } }

16. Escreva um algoritmo para preencher um vetor com nomes de pessoas (via teclado), orden-lo e exib-lo.
import java.util.*; public class vetorStrings { public static void main(String[] args) { Scanner a = new Scanner (System.in); System.out.println("Digite quantos nomes preenchero o vetor"); String x [] = new String [a.nextInt()]; System.out.println("Digite os nomes que preenchero o vetor"); for (int i = 0; i < x.length; i++) x[i]=a.next(); java.util.Arrays.sort(x); for (int i = 0; i < x.length; i++) System.out.println(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 < soma.length ; i++){ for(int j = 0; j < soma.length; j++){ soma [i][j] = x [i][j]+ y[i][j]; System.out.print(soma[i][j] + " "); } System.out.println(); } } }

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 < produto.length ; lin++){ for(int col = 0;col < produto.length; col++){ produto[lin][col] = 0; for(int k = 0; k < produto.length; k++){ produto [lin][col] = produto[lin][col] + x[lin][k]*y[k][col]; } System.out.print(produto[lin][col] + " "); } System.out.println(); } } }

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 java.util.*; public class Banco { public static void main(String[] args) { Scanner a = new Scanner (System.in); System.out.print("Conta Corrente: "); String n = a.next (); System.out.print("Saldo: ");

double s = a.nextDouble(); ContaCorrente d = new ContaCorrente(n,s); System.out.println("O seu saldo atual de " + d.getSaldo()); System.out.println("Quanto deseja depositar ?"); s = a.nextDouble(); d.creditar(s); System.out.println("Quanto deseja Sacar ?"); s = a.nextDouble(); d.debitar(s); System.out.println("O seu saldo atual de " + d.getSaldo()); } }

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){ this.hora = hora; this.minuto = minuto; this.segundo = 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 = t1.ObterTempoFormatado();

System.out.println(a); t1.ProximoTempo(59,Tempo.TIPO_MINUTO); System.out.println(t1.ObterTempoFormatado()); t1.ProximoTempo(60, Tempo.TIPO_SEGUNDO); System.out.println(t1.ObterTempoFormatado()); } }

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 System.out.println("Saldo insuficiente"); } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } public double getSaldo() { return saldo; } public void setSaldo(double saldo) { this.saldo = 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 System.out.println("Limite ultrapassado"); } } import java.util.*;

public class BancoBrasil { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.println("Digite o numero e o saldo da Conta Corrente!"); ContaCorrente CC = new ContaCorrente (a.nextLine(),a.nextDouble()); System.out.print("Valor do Crdito: "); CC.creditar(a.nextDouble()); System.out.print("Valor do Dbito: "); CC.debitar(a.nextDouble()); System.out.println("Saldo Atual: " + CC.getSaldo()); System.out.println("Digite o numero e o saldo da Poupana!"); ContaPoupanca CP = new ContaPoupanca (a.next(),a.nextDouble()); System.out.print("Valor do Crdito: "); CP.creditar(a.nextDouble()); System.out.print("Valor do Dbito: "); CP.debitar(a.nextDouble()); CP.renderJuros(); System.out.println("Saldo Atual: " + CP.getSaldo()); System.out.println("Digite o numero o saldo e o limite da Conta Especial!"); ContaEspecial CE = new ContaEspecial (a.next(),a.nextDouble(),a.nextDouble()); System.out.print("Valor do Crdito: "); CE.creditar(a.nextDouble()); System.out.print("Valor do Dbito: "); CE.debitar(a.nextDouble()); System.out.println("Saldo Atual: " + CE.getSaldo()); } }

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){ this.base = base; this.altura = 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); this.baseMenor = baseMenor; } public double calcularArea(){ return (baseMenor + getBase())*getAltura()/2; } public double getBaseMenor(){ return baseMenor; } } import java.util.*; public class CalculoAreas { public static void main(String[] args) { Scanner a = new Scanner (System.in); System.out.println("Digite a Base e a Altura do retngulo!"); Retangulo R1 = new Retangulo(a.nextDouble(),a.nextDouble()); System.out.println("Base do retngulo: " + R1.getBase()); System.out.println("Altura do retngulo: " +R1.getAltura()); System.out.println ("A rea do retngulo : " + R1.calcularArea()); System.out.println("Digite a Base e a Altura do tringulo!"); Triangulo T1 = new Triangulo(a.nextDouble(),a.nextDouble()); System.out.println("Base do tringulo: " + T1.getBase()); System.out.println("Altura do tringulo: " +T1.getAltura()); System.out.println ("A rea do tringulo : " + T1.calcularArea()); System.out.println("Digite as Bases e a Altura do trapzio!"); Trapezio Tra1 = new Trapezio(a.nextDouble(),a.nextDouble(), a.nextDouble()); System.out.println("Base maior do trapzio: " + Tra1.getBase()); System.out.println("Base menor do trapzio: " + Tra1.getBaseMenor()); System.out.println("Altura do trapzio: " +Tra1.getAltura()); System.out.println ("A rea do trapzio : " + Tra1.calcularArea()); } }