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)

quinta-feira, 27 de dezembro de 2012

Questão 3 do livro Java 7 de Sergio Furgeri pág 80 - Exemplo de Casting e Math.random



Exemplo de Casting e Math.random
Crie uma classe que gere um número aleatoriamente (entre 0 e 9) por Math.random. Em seguida, solicite ao usuário a digitação de um valor entre 0 e 9 e verifique se o numero sorteado é igual ao número fornecido pelo usuário. Considere apenas valores inteiros.

Código Java


//Autor: Thiago Campos
//Data; 27.12.2012

package main;

import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class ExercQ3P80 {
    public static void main(String[] args){
        //variaveis
        int nSorteado;
        int nDigitado;
       
        nSorteado = (int)(Math.random() * 10); //sorteio do valor
       
        nDigitado = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor entre 0 e 9:"));
       
        //Verificação do valor sorteado e do digitado pelo usuario
        if(nSorteado == nDigitado){
            JOptionPane.showMessageDialog(null, "O valor sorteado foi: " + nSorteado
                    + "\nO valor escolhido pelo usuário foi: " + nDigitado
                    + "\nPARABÉNS, o usuário acertou!!!");
        }else{
            JOptionPane.showMessageDialog(null, "O valor sorteado foi: " + nSorteado
                    + "\nO valor escolhido pelo usuário foi: " + nDigitado
                    + "\nO usuário ERRO, tente novamente!");
        } //fim do else
    } //fim do main
} //fim da classe

Questão 2 do livro Java 7 de Sergio Furgeri pág 80 - método Math.floor



O método floor é utilizado para arredondar um número para o seu inteiro anterior.

Exemplo do método Math.floor
Um vendedor camarada oferece pequenos descontos na venda de seus produtos.
Faça uma classe que receba um valor de venda e um percentual de desconto.
Além de calcular o desconto, o valor final deve ser arredondado para baixo, isto é, para o valor inteiro anterior.


Código Java


//Autor: Thiago Campos
//Data; 27.12.2012

package main;

import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class ExercQ2P80 {
    public static void main(String[] args){
        //variaveis
        double valor;
        double desc;
        double precoFinal;
       
        //entrada
        valor = Double.valueOf(JOptionPane.showInputDialog("Informe o valor da venda:"));
        desc = Double.valueOf(JOptionPane.showInputDialog("Informe o desconto:"));
       
        //processamento
        precoFinal = valor - (valor * (desc/100)); //cálculo do preço final
       
        //saida
        JOptionPane.showMessageDialog(null, "Valor original: " + valor
                + "\nPercentual de desconto: " + desc
                + "\nValor com desconto: " + Math.floor(precoFinal)); //uso do Math.floor
    } //fim do main
   
} //fim da classe

Questão 1 do livro Java 7 de Sergio Furgeri pág 80 - método Math.random.



O método Math.random é utilizado para gerar valores de forma aleatória (do tipo double entre 0.0 e 1.0).

 Exemplo de Math.random
 Crie uma classe que simule a jogada de um dado de seis lados (de 1 a 6).
 Faça 3 lançamentos.


//Autor: Thiago Campos
//Data; 27.12.2012

package main;

import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */

public class ExercQ1P80 {
    public static void main(String[] args){
        //variaveis
        int lan = 0;
        int res = 0;
     
        //processamento
        while(lan < 3){
            JOptionPane.showMessageDialog(null, "Lançamento " + (lan+1));
            res = (int)(Math.random()*100); // como res é um inteiro precisamos fazer um casting
            JOptionPane.showMessageDialog(null, "Os resultados foram:\n" + res);
            lan++;
        } //fim do while
    } //fim do main 
} //fim da classe

sábado, 15 de dezembro de 2012

Exemplo de String e JOptionPane - Uso de substring.


 Pedir para digitar um nome e imprimir como no exemplo:
 nome: THIAGO
  T
  TH
  THI
  THIA
  THIAG
  THIAGO


Código Java


//Autor: Thiago Campos
//Data: 15.12.2012

import javax.swing.JOptionPane;

/**
 *
 * @author Thiago
 */
public class Nome {

    public static void main(String[] args) {
        //variavel
        String nome, guarda = "";

        //entrada do nome
        nome = JOptionPane.showInputDialog("Informe o seu nome:");

        //processamento
        for (int j = 0; j < nome.length(); j++) {
            for (int i = 0; i <= j; i++) {
                guarda += nome.substring(i, i + 1);
            }
            guarda += "\n";
        }

        //saida
        JOptionPane.showMessageDialog(null, guarda);
    } //fim do main
} //fim da classe

Cálculo da média na UNI-RN - Código Java


Trata-se de um código que realiza o cálculo da média das notas e informa se o aluno passou ou não segundo os critérios da UNI-RN - envolve Média Ponderada e Média Aritmética. Este programa verifica se o aluno passou ou ficou em recuperação, quanto precisa tirar na recuperação e qual será sua média final conforme a nota tirada na recuperação.



//Autor: Thiago Campos
//Data: 12.12.2012

package main; //pacote no qual pertence esta classe

import javax.swing.JOptionPane;
import java.text.DecimalFormat; //responsavel por formatar a qtd de casas decimais
import dominio.Calculos;

public class FimDeSemestre {
    public static void main(String[] args){
        //declaração de variaveis
        int op;
        double n1, n2;
        Calculos mP = new Calculos();
        double resultado;
     
        DecimalFormat df = new DecimalFormat("0.##"); //instancio o formato
     
     
     
        //escolha da opção
        do {
            op = Integer.parseInt(JOptionPane.showInputDialog("MENU DE OPÇÕES"
                    + "\n1-Saber a situação"
                    + "\n2-Saiba sua média final com a nota de recuperação"
                    + "\n3-Sair"));
            switch (op) {
                case 1: //entrada das notas
                    n1 = Double.parseDouble(JOptionPane.showInputDialog("Informe a 1ª nota(Use o ponto no lugar da vírgula):"));
                    n2 = Double.parseDouble(JOptionPane.showInputDialog("Informe a 2ª nota(Use o ponto no lugar da vírgula):"));

                    resultado = mP.mediaPonderada(n1, n2);
                 
                    if (resultado >= 7) { //media ponderada maior - igual a 7 - aluno Aprovado
                        JOptionPane.showMessageDialog(null, "Parabéns, você está aprovado!");
                    } else {
                        if (resultado < 3) { //media ponderada menor do que 3 - aluno reprovado
                            JOptionPane.showMessageDialog(null, "Você está reprovado!");
                        } else {
                            JOptionPane.showMessageDialog(null, "Você ficou em recuperação,"
                                    + "\n Sua média é: " + df.format(mP.mediaPonderada(n1, n2))
                                    + "\n Você precisa tirar " + df.format(mP.qtoPrecisa()) + " na recuperação para passar com média 5,0");
                        }
                    }
                    break; //fim do menu == a 1
                case 2: //Esta opção informará ao aluno qual será a média final dele com a nota de recuperação
                    double nRec = Double.parseDouble(JOptionPane.showInputDialog("Informe a nota de recuperação."));
                    JOptionPane.showMessageDialog(null, "A media final é " + mP.mediaFinal(nRec));
                    break;
                case 3:
                    JOptionPane.showMessageDialog(null, "Fechando o programa!");
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "Opção inválida!");
            }
        } while (op != 3);
    } //fim do main
 
} //fim da classe



/*---------------------------------------------------------------------------------------------------
 * Esta classe possui todos os cálculos do programa
 ---------------------------------------------------------------------------------------------------*/
package dominio;

public class Calculos {
    private double mP;
    private double mF;
 
    //calculo da media ponderada
    public double mediaPonderada (double n1, double n2){
        return mP = ((n1*4) + (n2*6))/10;
    }
 
    //calculo da media aritmética
    public double mediaFinal(double nR){
        return mF = (mP+nR)/2;
    }
 
    //calculo da nota que precisa tirar para passar com média 5
    public double qtoPrecisa(){
        return (10 - mP);
    }
 
} //fim da classe