AGRADECIMENTO...

Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.

Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...

Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.

As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.

Desde já agradeço a todos pelas visitas e desejo bons estudos.

Thiago Campos
(srthiago@hotmail.com)

terça-feira, 31 de dezembro de 2013

Exercício de Fixação: Classes, Objetos e Atributos em Java

O   objetivo   deste   exercício   é   fixar   o   conceito   de   classes   e   objetos, métodos e atributos. Dada a estrutura de uma classe, basta traduzi la para a linguagem Java e fazer uso de um objeto da mesma em um programa simples.

Crie uma porta, abra e feche a mesma, pinte­a de diversas cores, altere suas dimensões e use o método estaAberta para verificar se ela está aberta.

//Autor: Thiago Campos
//Data: 31.12.2013
package Porta;
/**
 *
 * @author Thiago
 */
public class TestePorta {
    public static void main(String args[]){
        //declaração das variaveis
        Porta p, p1, p2;
       
        //criação do objeto
        p = new Porta();
        p1 = new Porta();
        p2 = new Porta();
       
        //alterando atributos dos objetos
        p.cor = "azul;";
        p.dimensaoX = 2;
        p.dimensaoY = 3;
        p.dimensaoZ = 0.1;
        p.aberta = true;
       
        p1.cor = "vermelha;";
        p1.dimensaoX = 2.3;
        p1.dimensaoY = 3.3;
        p1.dimensaoZ = 0.1;
        p1.aberta = false;
       
        p2.cor = "branca;";
        p2.dimensaoX = 1.8;
        p2.dimensaoY = 3;
        p2.dimensaoZ = 0.12;
        p2.aberta = true;
       
        //usando os metodos
        System.out.println("MOSTRAS TODAS AS PORTAS (p, p1 e p2)");
        p.mostraTodas();
        p1.mostraTodas();
        p2.mostraTodas();
       
        System.out.println();
 
        System.out.println("MOSTRAS A PORTAS ABERTAS");
        p.mostraPortasAbertas();
        p1.mostraPortasAbertas();
        p2.mostraPortasAbertas();
       
        System.out.println();
       
        System.out.println("FECANDO A PORTA p2");
        p2.fechandoPorta();
        System.out.println();
       
       
         //usando os metodos
        System.out.println("MOSTRAS A PORTAS ABERTAS:");
        p.mostraPortasAbertas();
        p1.mostraPortasAbertas();
        p2.mostraPortasAbertas();
       
    } //fim do main

}  //fim da classe
   

public class Porta {
    //declaração das variaveis
    double dimensaoX;
    double dimensaoY;
    double dimensaoZ;
    String cor;
    boolean aberta;
   
    //metodo mostraTodas
    void mostraTodas(){
            System.out.println("Cor: " + cor + " Dimensões: (" + dimensaoX + ", " + dimensaoY + ", " + dimensaoZ + ")");
    } //fim do metodo
   
    //metodo mostraPortaAberta
    void mostraPortasAbertas(){
        if(aberta){
            System.out.println("Cor: " + cor + " Dimensões: (" + dimensaoX + ", " + dimensaoY + ", " + dimensaoZ + ")");
        } //fim do if
    } //fim do metodo
   
    void fechandoPorta(){
        aberta = false;
    }
       
}  //fim da classe

Exercício de Fixação; Classes, Objetos e Métodos em Java

O   objetivo   deste exercício é fixar o conceito de classes e objetos, métodos   e atributos. Dada a estrutura de uma classe, basta traduzi-­la para a linguagem Java e fazer uso de um objeto da mesma em um programa simples.

Crie uma classe Conta com os atributos int numero, Cliente donodouble saldo e double limite, e outra classe Cliente com os atributos String nome, String sobreNome e String cpf. Na classe Conta crie um método saca(), deposita() e outro transferirPara(). Crie uma classe com main para testar as demais classes.

Código Java

//CLASSE CONTA -----------------------------------------------------------------------------------
//Autor: Thiago Campos
//Data: 31.12.2013

package Banco;

/**
 *
 * @author Thiago
 */
public class Conta {
    //declaraçao dos variaveis (atributos)
    double conta;
    double saldo;
    double limite;
    Cliente dono = new Cliente();
   
    //Metodo sacar
    boolean sacar(double valor){
        if(this.saldo < valor){
            return false;
        } else {
            this.saldo -= valor;
            return true;
        }
    } //fim do medtod sacar
   
    //metodo depositar
    void depositar(double valor){
        //declaração da variavel local
        this.saldo = this.saldo + valor;
    } //fim do metodo depositar
   
    //metodo transferiri
    boolean transferirPara(Conta cDestino, double valor) {
        //declara a variavel de referencia e atribui valor
        boolean retirou = this.sacar(valor);

        if (retirou == false) {
            return false;
        } else {
            cDestino.depositar(valor);
            return true;
        } //fim do else
    }
} //fim da classe

//CLASSE CLIENTE -----------------------------------------------------------------------------------
//Autor: Thiago Campos
//Data: 31.12.2013

package Banco;

/**
 *
 * @author Thiago
 */
public class Cliente {
    //declaração das variaveis
    String nome;
    String sobreNome;
    String cpf;
   
} //fim da classe cliente

//CLASSE PROGRAMA -----------------------------------------------------------------------------------
//Autor: Thiago Campos
//Data: 31.12.2013

package Banco;

import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class Programa {
    public static void main(String args[]){
        //declaração do objeto
        Conta c1;
        Conta c2;
        boolean confirmacao; //vai receber a confirmação do metodo
        Cliente cli;
       
        //criação de uma instancia do tipo Conta
        c1 = new Conta();
        c2 = new Conta();
        cli = new Cliente();
     
        //uso dos atributos da conta
      
        c1.dono.nome = "Thiago";
        c1.conta = 111;
        c1.limite = 200;
        c1.saldo = 100;
       
        c2.dono.nome = "Rafael";
        c2.conta = 222;
        c2.limite = 300;
        c2.saldo = 1000;
       
        //uso o metodo sacar
        //Como só ha um comando no bloco if e no else o uso das chaves é facultativo
        confirmacao = c1.sacar(60);
        if(confirmacao)JOptionPane.showMessageDialog(null, "Consegui sacar\nSaldo: " + c1.saldo);
        else JOptionPane.showMessageDialog(null, "Não consegui sacar");
       
        //transferir: uso dos metodos sacar e depositar
        confirmacao = c2.transferirPara(c1, 400);
        if(confirmacao)JOptionPane.showMessageDialog(null, "Consegui transferir");
        else JOptionPane.showMessageDialog(null, "Não consegui transferir");
       
        //uso do metodo depositar
        c1.depositar(80);
        c2.depositar(50);
        //saida dos dados
        JOptionPane.showMessageDialog(null, c1.dono.nome + " : " + c1.saldo + "\n" + c2.dono.nome + " : " + c2.saldo);
   
    } //fim do main
   
} //fim da classe

quarta-feira, 25 de dezembro de 2013

Uma alternativa de resolução para uma questão da Apostila de CAELUM - JAVA

Faça um programa que imprima todos os números de 150 a 300 em uma janela JOptionPane, em cada linha deverá terno máximo 10 números.

Código Java

//Autor: Thiago Campos
//Data: 25.12.2013

import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class ExercicioXCaelumJava {
    public static void main(String[] args){
        //Declaração das variáveis
        String numeros = "";
        int i = 150;
        int j = 1;
       
        //Processamento
        while(i <300){
            for (j = 1; j <= 10; j++){
                numeros = numeros + i + " ";
                i++;
            } //fim do for
            numeros = numeros + "\n"; //vai quebrar a linha a cada 10 números
        } //fim do while
       
        numeros = numeros + 300; //vai acrescentar o último número válido
       
        //Siada
        JOptionPane.showMessageDialog(null, "Resposta da questão 1 é:\n " + numeros);
    } //fim do main
   

} //fim da classe

Uma alternativa de resolução para uma questão da Apostila de CAELUM - JAVA

Exercício da apostila de Caelum Java: Faça um programa que imprima a soma de 1 a 1000 em uma janela JOptionPane.

Código Java

//Autor: Thiago Campos
//Data: 23.12.2013
  
import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class Exercicio2CaelumJava {
    public static void main (String args[]){
        //declaração das variáveis
        int s=0;
        int i=0;
       
        //processamento
        for (i=1; i<=1001; i++){
            s += i;
        } //fim do laço de repetição
       
        //saida
        JOptionPane.showMessageDialog(null, "A soma é; " + s);
    } //fim do main
   

} //fim da classe

JAVA: Uso da estrutura condicionada SWITCH - Exemplo simples de código

Utilizando a estrutura condicionada switch, elabore um programa em que o usuário um número de 1 a 12 e obterá o mês correspondente. Considere que o usuário digitará apenas números inteiros. 

Código Java

//Autor: Thiago Campos
//Data: 06/12/2013

import javax.swing.JOptionPane;
/**
 *
 * @author Thiago
 */
public class DiaSemana {
    public static void main(String args[]){
        //Declaração da variável
        int n=0;
       
        //Entrada do dado
        n = Integer.parseInt(JOptionPane.showInputDialog("Digite o número:"));
       
        //Estrutura condicional
        switch(n){
            case 1:
                JOptionPane.showMessageDialog(null, "JANEIRO");
                break;
            case 2:
                JOptionPane.showMessageDialog(null, "FEVEREIRO");
                break;
            case 3:
                JOptionPane.showMessageDialog(null, "MARÇO");
                break;
            case 4:
                JOptionPane.showMessageDialog(null, "ABRIL");
                break;
            case 5:
                JOptionPane.showMessageDialog(null, "MAIO");
                break;
            case 6:
                JOptionPane.showMessageDialog(null, "JUNHO");
                break;
            case 7:
                JOptionPane.showMessageDialog(null, "JULHO");
                break;
            case 8:
                JOptionPane.showMessageDialog(null, "AGOSTO");
                break;
            case 9:
                JOptionPane.showMessageDialog(null, "SETEMBRO");
                break;
            case 10:
                JOptionPane.showMessageDialog(null, "OUTUBRO");
                break;
            case 11:
                JOptionPane.showMessageDialog(null, "NOVEMBRO");
                break;
            case 12:
                JOptionPane.showMessageDialog(null, "DEZEMBRO");
                break;
            default:
                JOptionPane.showMessageDialog(null, "Não existe mês correspondente ao número " + n);
                break;
        } //fim do switch
    } //fim do main
   

} //fim da classe

JAVA: Uso da estrutura condicionada SWITCH para calcular a área quadrada de figuras geométricas

Utilizando a estrutura condicionada switch, elabore um programa em que o usuário após escolher a figura geométrica desejada, calcule a sua área quadrada.

Código Java

//Autor: Thiago Campos
//Data: 06/12/2013

import javax.swing.JOptionPane;
/**
 *
 * @author Thiago
 */
public class Areas {
    public static void main(String args[]){
        //Declaração da variável
        int n=0;
        float a=0, b=0, h=0, s=0;
       
        //Entrada do dado
        n = Integer.parseInt(JOptionPane.showInputDialog("Digite o número correspondente "
                + "a àrea da figura geometrica que se deseja encontrar:"
                + "\n1 - Quadrado"
                + "\n2 - Retangulo"
                + "\n3 - Triangulo"
                + "\n4 - Losangulo"
                + "\n5 - Trapézio"
                + "\n6 - Circulo"));
       
        //Estrutura condicional
        switch(n){
            case 1:
                //entrada
                a = Float.parseFloat(JOptionPane.showInputDialog("Informe o lado do quadrado:"));
               
                //processamento
                s = (float) Math.pow(a, 2);
               
                //saida
                JOptionPane.showMessageDialog(null, "A área do quadrado é " + s);
                break;
            case 2:
                //entrada
                a = Float.parseFloat(JOptionPane.showInputDialog("Informe a base do retangulo:"));
                h = Float.parseFloat(JOptionPane.showInputDialog("Informe a altura do retangulo:"));
               
                //processamento
                s = a*h;
               
                //saida
                JOptionPane.showMessageDialog(null, "A área do retangulo é " + s);
                break;
            case 3:
                //entrada
                a = Float.parseFloat(JOptionPane.showInputDialog("Informe a base do triangulo:"));
                h = Float.parseFloat(JOptionPane.showInputDialog("Informe a altura do retangulo:"));
               
                //processamento
                s = (a*h)/2;
               
                //saida
                JOptionPane.showMessageDialog(null, "A área do triangulo é " + s);
                break;
            case 4:
                //entrada
                a = Float.parseFloat(JOptionPane.showInputDialog("Informe a diagonal menor do losangulo:"));
                b = Float.parseFloat(JOptionPane.showInputDialog("Informe a diagonal maior do losangulo:"));
               
                //processamento
                s = (a*b)/2;
               
                //saida
                JOptionPane.showMessageDialog(null, "A área do losangulo é " + s);
                break;
            case 5:
                //entrada
                a = Float.parseFloat(JOptionPane.showInputDialog("Informe a base maior do trapezio:"));
                b = Float.parseFloat(JOptionPane.showInputDialog("Informe a base menor do trapezio:"));
                h = Float.parseFloat(JOptionPane.showInputDialog("Informe a altura do trapezio:"));
               
                //processamento
                s = (a+b)* h/2;
               
                //saida
                JOptionPane.showMessageDialog(null, "A área do trapezio é " + s);
                break;
            case 6:
                //entrada
                a = Float.parseFloat(JOptionPane.showInputDialog("Informe o raio do circulo:"));
                           
                //processamento
                s = (float)(Math.PI * Math.pow(a, 2));
               
                //saida
                JOptionPane.showMessageDialog(null, "A área do trapezio é " + s);
                break;
            default:
                JOptionPane.showMessageDialog(null, "Dado inválido");
                break;
        } //fim do switch
    } //fim do main
   

} //fim da classe

quarta-feira, 27 de novembro de 2013

Usando a classe de entrada Scanner - JAVA

Usando a classe Scanner para entrada de dados, elabore uma classe que receba dois valores numéricos (v1 e v2) e apresente em tela o resultado das quatros operações matemática básicas entre elas, ou seja, soma, subtração, divisão e multiplicação.
Ps.: Exercício 4 da página 47, do livro JAVA 7, de Sérgio Furgeri


//Autor: Thiago Campos
//Data: 26.11.2013

import java.io.IOException;
import java.util.Scanner;

public class Exercicio4Pg47Scanner {
    public static void main(String args[]){
        //Declaração das variáveis
        float v1 = 0;
        float v2 = 0;
        float soma = 0, subtracao = 0, multiplica = 0, divisao =0;
       
        Scanner sc; //Objeto
       
        try {
            //Entrada dos dados
            System.out.println("Entre com o primeiro valor numérico:");
            sc = new Scanner(System.in);
            v1 = sc.nextFloat();
           
            System.out.println("Entre com o segundo valor numérico:");
            sc = new Scanner (System.in);
            v2 = sc.nextFloat();
           
            //processamnto
            soma = v1 + v2;
            subtracao = v1 - v2;
            multiplica = v1 * v2;
           
            //Saida
            System.out.println("Os resultados das 4 operações matemáticas são:"
                    + "\nAdição: " + soma
                    + "\nSubtração; " + subtracao
                    + "\nMultiplicação: " + multiplica);
           
            if (v2 != 0) {
                divisao = v1/v2;
                System.out.println("Divisão; " + divisao);
            }
            else{System.out.println("Não ha resultado no conjunto dos Reais para o resultado da Divição");}
       
        } //fim do try
        catch (NumberFormatException erro){System.out.println("Houve erro de conversão, digite caracteres numéricos." + erro.toString());}
    } //fim do main
 

} //fim da classe

Usando a classe de entrada JOptionPane - JAVA

Usando a classe JOptionPane para a entrada de dados, elabore uma classe que realize o cálculo do peso ideal. O peso ideal é dado pelo IMC (Índice de Massa Corporal). Considere a tabela seguinte;
  ___________________________________________
 | INDICE IMC        |       DESCRIÇÃO             
 | Menor que 18,5     | Peso abaixo do normal  
 | Entre 18,5 e 24,4   | Peso Ideal   
 | Entre 24,4 e 29,9   | Pré-Obesidade     
 | Entre 30 e 34,9      | Obesidade classe I   
 | Entre 35 e 39,9      | Obesidade classe II  (severa)  
 | Maior que 39,9      | Obesidade classe III (mórbida) 
  ======================================

Ps.:  Exercício 3 da página 46 do livro JAVA 7, de Sérgio Furgeri
 
Código Java

//Autor: Thiago Campos
//Data: 26.11.2013

import javax.swing.JOptionPane;


public class Exercicio3Pg46JOptionPane {
    public static void main(String args[]) {
        //Declaração das variaveis
        String aux = "";
        float peso = 0;
        float altura = 0;
        float imc = 0;
       
        //Entrada
        try {
            aux = JOptionPane.showInputDialog("Informe seu peso:");
            peso = Float.parseFloat(aux);
           
            aux = JOptionPane.showInputDialog("Informe sua altura:");
            altura = Float.parseFloat(aux);
           
            //Processamento
            imc = peso / (altura * altura);
           
            //Proc. Escolha
            if (imc < 18.5) {JOptionPane.showMessageDialog(null, "Seu Índice de Massa Corporal (IMC) é "+ imc +
                    "\nPeso abaixo do normal");}
            if (imc >= 18.5 && imc <= 24.4) {JOptionPane.showMessageDialog(null, "Seu Índice de Massa Corporal (IMC) é "+ imc +
                    "\nPeso Ideal");}
            if (imc >= 24.5 && imc <= 29.9) {JOptionPane.showMessageDialog(null, "Seu Índice de Massa Corporal (IMC) é "+ imc +
                    "\nPré-obesidade");}
            if (imc >= 30 && imc <= 34.9) {JOptionPane.showMessageDialog(null, "Seu Índice de Massa Corporal (IMC) é "+ imc +
                    "\nObesidade classe I");}
            if (imc >= 35 && imc <= 39.9) {JOptionPane.showMessageDialog(null, "Seu Índice de Massa Corporal (IMC) é "+ imc +
                    "\nObesidade classe II (severa)");}
            if (imc >= 40) {JOptionPane.showMessageDialog(null, "Seu Índice de Massa Corporal (IMC) é "+ imc +
                    "\nObesidade classe III (mórbida)");}
        } //fim do try
        catch (NumberFormatException erro){JOptionPane.showMessageDialog(null, "Informe caracteres numéricos." + erro.toString());}
   
    } //fim do main

} //fim da classe