Exercícios de Programação em Java
Exercícios de Programação em Java
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"); } }
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); } }
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; } }
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:
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]); }
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();
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()); } }