sexta-feira, 25 de março de 2011

Calcular Aumento de Salários


import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class CalcularSalario extends JFrame{

private FlowLayout flowLayout = new FlowLayout();
private GridLayout gridLayout = new GridLayout(4,2,10,1);
private JPanel gridJPanel = new JPanel();
private String funcionarios[] = {"Técnico","Gerente","Auxiliar"};
private JButton calcular = new JButton("Calcular");
private JButton limpar = new JButton("Limpar Dados");
private JLabel lcargo = new JLabel("Escolha o Cargo:");
private JLabel lnome = new JLabel("Nome:");
private JLabel lsalario = new JLabel("Salário:");
private JTextField jnome = new JTextField("",5);
private JTextField jsalario = new JTextField("",3);
private JComboBox comboFunc = new JComboBox(funcionarios);
private JTextArea resultado = new JTextArea(10,22);
private DecimalFormat df = new DecimalFormat ("##.00");

public CalcularSalario(){
super("Cargos e salários");
super.setLayout(flowLayout);
setSize(300, 340);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
resultado.setEditable(false);
comboFunc.setMaximumRowCount(4);
gridJPanel.setLayout(gridLayout);
gridJPanel.add(lcargo);
gridJPanel.add(comboFunc);
gridJPanel.add(lnome);
gridJPanel.add(jnome);
gridJPanel.add(lsalario);
gridJPanel.add(jsalario);
gridJPanel.add(calcular);
gridJPanel.add(limpar);

super.add(gridJPanel);
super.add(new JScrollPane(resultado));

calcular.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
double salarioFunc = Double.parseDouble(jsalario.getText());
double aumento = 0;
if(comboFunc.getSelectedItem().equals("Técnico")){
aumento=1.075;
salarioFunc *= aumento;
String resultadoCalc = "Nome "+ jnome.getText() + "\nCargo " + funcionarios[0] + "\nSalário Atual " + jsalario.getText() + "\nSalário com Aumento " + df.format(salarioFunc);
resultado.setText(resultadoCalc);
} else if(comboFunc.getSelectedItem().equals("Gerente")){
aumento=1.05;
salarioFunc *= aumento;
String resultadoCalc = "Nome "+ jnome.getText() + "\nCargo " + funcionarios[1] + "\nSalário Atual " + jsalario.getText() + "\nSalário com Aumento " + df.format(salarioFunc);
resultado.setText(resultadoCalc);
} else if(comboFunc.getSelectedItem().equals("Auxiliar")){
aumento=1.10;
salarioFunc *= aumento;
String resultadoCalc = "Nome "+ jnome.getText() + "\nCargo " + funcionarios[2] + "\nSalário Atual " + jsalario.getText() + "\nSalário com Aumento " + df.format(salarioFunc);
resultado.setText(resultadoCalc);
}
}
});

limpar.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
resultado.setText("");
}
});
}

public void calSalario(){

}

public void limpar(){

}

public static void main(String[] args) {
CalcularSalario cal = new CalcularSalario();
cal.setLocation(400, 200);
cal.setVisible(true);
}
}

Calcular IMC


import java.text.DecimalFormat;
import javax.swing.JOptionPane;

public class CalcularImc {

private int verificador = 0;
private double massa = 0;
double imcHomens[] ={20.7,26.4};
double imcMulheres[] ={19.1,25.8};

public void calcularImc(){

try {

double peso = Double.parseDouble(JOptionPane.showInputDialog("Digite seu peso"));
double altura = Double.parseDouble(JOptionPane.showInputDialog("Digite sua altura"));
verificador = Integer.parseInt(JOptionPane.showInputDialog("Ditite um para 1 e 2 para mulher"));
DecimalFormat df = new DecimalFormat ("##.00");

massa = peso/(altura*altura);

if(verificador == 1){
if(massa < imcHomens[0]){ JOptionPane.showMessageDialog(null, "CUIDADO!!! Você estar abaixo do peso! IMC" + df.format(massa)); } else if(massa > imcHomens[1]){
JOptionPane.showMessageDialog(null, "CUIDADO!!! Você estar acima do peso! IMC" + df.format(massa));
} else {
JOptionPane.showMessageDialog(null, "PARABÉNS!! Você está com o peso na média" + df.format(massa));
}
} else {
if(massa < imcMulheres[0]){ JOptionPane.showMessageDialog(null, "CUIDADO!!! Você estar abaixo do peso! IMC" + df.format(massa)); } else if(massa > imcMulheres[1]){
JOptionPane.showMessageDialog(null, "CUIDADO!!! Você estar acima do peso! IMC" + df.format(massa));
} else {
JOptionPane.showMessageDialog(null, "PARABÉNS!! Você está com o peso na média" + df.format(massa));
}
}
}catch(NumberFormatException exception){
JOptionPane.showMessageDialog(null,"No número inválido!\nEx: Use '.' ao invés de ',' para separar as casas decimais.","ERROR FATAL!!!",JOptionPane.ERROR_MESSAGE);
}
}

public static void main(String args[]){
CalcularImc imc = new CalcularImc();
imc.calcularImc();
}
}

terça-feira, 15 de março de 2011

switch case

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int nota = Integer.parseInt(JOptionPane.showInputDialog("Digite a nota do aluno."));
        verificarNota(nota);
    }

    public static void verificarNota(int nota) {
        switch (nota) {
            case 1:
            case 2:
            case 3:
                System.out.println("Muito baixa");
                break;
            case 4:
            case 5:
            case 6:
                System.out.println("Baixa");
                break;
            case 7:
            case 9:
            case 10:
                System.out.println("Alta");
                break;
            default:
                System.out.println("Nota inválida");
        }
    }
}

segunda-feira, 7 de março de 2011

Ordenar vetores inteiros

Ordenação de vetores de duas formas.

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ordenarJeitoFacil();
        ordenarJeitoDificil();
    }

    public static void ordenarJeitoFacil(){
        int[] valorOrdenar = new int[5];

        //Leitura dos valores inteiros
        for (int i = 0; i < valorOrdenar.length; i++) {
            valorOrdenar[i] = Integer.parseInt(JOptionPane.showInputDialog("Entre com o valor " + i));
        }

        //Aqui é feita a ordenação
        Arrays.sort(valorOrdenar);

        //Exibi a ordenação
        for (int i : valorOrdenar) {
            System.out.println("exibir ordenação " + i);
        }
    }

    public static void ordenarJeitoDificil(){
        int[] valorOrdenar = new int[5];
        boolean estaOrdenado = false;

        for (int i = 0; i < valorOrdenar.length; i++) {
            valorOrdenar[i] = Integer.parseInt(JOptionPane.showInputDialog("Entre com o valor " + i));
        }

        while (!estaOrdenado) {
            estaOrdenado = true;
            for (int y = 1; y < valorOrdenar.length; y++) {
                if (valorOrdenar[y - 1] > valorOrdenar[y]) {
                    estaOrdenado = false;
                    int aux = valorOrdenar[y];
                    valorOrdenar[y] = valorOrdenar[y - 1];
                    valorOrdenar[y - 1] = aux;
                }
            }
        }

        for (int j : valorOrdenar) {
            System.out.println("exibir ordenação " + j);
        }
    }
}

Significados de algumas exceções no java

ClassCastException
Lançado ao tentar converter uma variável de referência em tipo que não passa no teste É-UM.

IllegalArgumentException
Quando o método espera argumento diferente do que você passa.

NullPointerException
Lançado ao tentar acessar um objeto com uma variável de referência o qual o valor atual é nulo.

NumberFormatException
Acontece quando vai converter uma String em número e não consegue.