UNIVERSIDADE PRESIDENTE ANTONIO CARLOS Faculdade de Educação e Ciências de Aimorés Tecnologia em Análise e Desenvolvimento de Sistemas Lista de Exercícios Elifas Oliveira Junior Aimorés – 2009 Elifas Oliveira Junior Lista de Exercícios Trabalho da disciplina de Programação Orientada a Objetos 2, do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas, da Universidade Presidente Antônio Carlos. Professor: Guilherme Bezerra Fernandes Aimorés – 2009 Sumário 1. Introducao 4 2. Um programa que ler três valores para os lados de um triângulo. 5 3. Ler um número e se ele for maior do que 20, então imprimir a metade do número. 10 4. Ler um número e imprimir se ele é positivo, negativo ou nulo. 12 5. Uma calculadora que realize as operações básicas 15 6. Ler o nome da pessoa e o ano de nascimento, caso tenha mais de 18 anos imprimir o nome da pessoa,e a idade. Error! Bookmark not defined.9 7. Programa que leia um peso na terra e o número de um planeta e imprima o valor do seu peso neste planeta. 2Error! Bookmark not defined. 8. Criar um programa que informe a quantidade total de calorias de uma refeição a partir da escolha do usuário que deverá informar o prato, a sobremesa e bebida. 24 9. Conclusao 30 1.INTRODUCAO NESTE TRABALHO SERA REALIZADO UMA LISTA DE EXERCICIO EM JAVA. 2.Um programa que ler três valores para os lados de um triângulo. import javax.swing.SwingUtilities; import java.awt.BorderLayout; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.Rectangle; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.Dimension; import javax.swing.SwingConstants; public class Triangulo extends JFrame { static final long serialVersionUID = 1L; JPanel jContentPane = null; JLabel lblInforme1 = null; JLabel lblInfome2 = null; JLabel lblInforme3 = null; JTextField txtlado1 = null; JTextField txtlado2 = null; JTextField txtlado3 = null; JButton btnresposta = null; JTextField txtresposta = null; float lado_1; float lado_2; float lado_3; String Resposta; JTextField getTxtlado1() { if (txtlado1 == null) { txtlado1 = new JTextField(); txtlado1.setBounds(new Rectangle(128, 45, 80, 30)); } return txtlado1; } JTextField getTxtlado2() { if (txtlado2 == null) { txtlado2 = new JTextField(); txtlado2.setBounds(new Rectangle(128, 90, 80, 30)); } return txtlado2; } JTextField getTxtlado3() { if (txtlado3 == null) { txtlado3 = new JTextField(); txtlado3.setBounds(new Rectangle(128, 133, 80, 30)); } return txtlado3; } JButton getBtnresposta() { if (btnresposta == null) { btnresposta = new JButton(); btnresposta.setBounds(new Rectangle(10, 178, 100, 30)); btnresposta.setText("Calcular:"); btnresposta.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { lado_1=Float.parseFloat(txtlado1.getText()); lado_2=Float.parseFloat(txtlado2.getText()); lado_3=Float.parseFloat(txtlado3.getText()); if ((lado_1<= 0)||(lado_2<=0)||(lado_3<=0)) { Resposta=("Os lados informados nao formam um Triangulo "); txtresposta.setText(Resposta); } else if ((lado_1<=lado_2+lado_3)&& (lado_2<=lado_3+lado_1)&&(lado_3<=lado_1+lado_3)) { if ((lado_1==lado_2)&&(lado_2==lado_3)) { Resposta=("Os lados informados formam um Triangulo Equilatero"); txtresposta.setText(Resposta); } else if ((lado_1 !=lado_2)&&(lado_2!=lado_3)&&(lado_1!=lado_3)) { Resposta=("Os lados informados formam um triangulo Escaleno"); txtresposta.setText(Resposta); } else { Resposta = ("Os Lados informados formam um triangulo Isosceles"); txtresposta.setText(Resposta); } } } }); } return btnresposta; } JTextField getTxtresposta() { if (txtresposta == null) { txtresposta = new JTextField(); txtresposta.setBounds(new Rectangle(128, 178, 347, 30)); } return txtresposta; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { Triangulo thisClass = new Triangulo(); thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thisClass.setVisible(true); } }); } public Triangulo() { super(); initialize(); lado_1 = 0; lado_2 = 0; lado_3 = 0; } public void initialize() { this.setSize(600, 400); this.setContentPane(getJContentPane()); this.setTitle("TRIANGULOS"); } public JPanel getJContentPane() { if (jContentPane == null) { lblInforme3 = new JLabel(); lblInforme3.setBounds(new Rectangle(10, 128, 100, 30)); lblInforme3.setText("Informe 3 lado:"); lblInfome2 = new JLabel(); lblInfome2.setBounds(new Rectangle(10, 89, 100, 30)); lblInfome2.setText("Informe 2 lado:"); lblInforme1 = new JLabel(); lblInforme1.setBounds(new Rectangle(10, 45, 100, 30)); lblInforme1.setText("Informe 1 lado:"); jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(lblInforme1, null); jContentPane.add(lblInfome2, null); jContentPane.add(lblInforme3, null); jContentPane.add(getTxtlado1(), null); jContentPane.add(getTxtlado2(), null); jContentPane.add(getTxtlado3(), null); jContentPane.add(getBtnresposta(), null); jContentPane.add(getTxtresposta(), null); } return jContentPane; } } 2. Ler um número e se ele for maior do que 20, então imprimir a metade do número. import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class Metade extends JFrame implements ActionListener { JLabel lblValor; JLabel lblValor1; JLabel lblValor2; JTextField txtValor; JButton btnCalcular; float valor, resultado; public Metade() { setSize(400,300); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new GridBagLayout()); GridBagConstraints c= new GridBagConstraints(); lblValor= new JLabel("Digite o valor:"); lblValor1= new JLabel("Resultado:"); lblValor2= new JLabel(""); txtValor= new JTextField(10); btnCalcular= new JButton("Calcula"); btnCalcular.addActionListener(this); c.fill = GridBagConstraints.FIRST_LINE_START; c.gridx=0; c.gridy=0; add(lblValor,c); c.gridx=1; c.gridy=0; add(txtValor,c); c.gridx=0; c.gridy=2; getContentPane().add(btnCalcular,c); c.gridx=0; c.gridy=3; add(lblValor1,c); c.gridx=1; c.gridy=3; add(lblValor2,c); } public void actionPerformed(ActionEvent arg0) { valor= Float.parseFloat(txtValor.getText()); if(valor>20) { resultado=(valor/2); lblValor2.setText(Float.toString(resultado)); }else { lblValor2.setText("valor menor que zero"); } } public static void main(String[] args) { Metade m= new Metade(); } } 4. Ler um número e imprimir se ele é positivo, negativo ou nulo. import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class Numero extends JFrame implements ActionListener { JLabel lblValor; JLabel lblValor1; JTextField txtValor; JButton btnCalcular; float valor; public Numero() { setSize(400,300); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new FlowLayout()); lblValor= new JLabel("Digite o Valor:"); txtValor= new JTextField(10); lblValor1= new JLabel(""); btnCalcular= new JButton("Calcula"); btnCalcular.addActionListener(this); add(lblValor); add(txtValor); add(btnCalcular); add(lblValor1); } public void actionPerformed(ActionEvent arg0) { valor= Float.parseFloat(txtValor.getText()); if(valor>=1) { lblValor1.setText("Número Positivo"); }else if(valor<=-1) { lblValor1.setText("Número Negativo"); }else if(valor==0) { lblValor1.setText("Número Nulo"); } } public static void main(String[] args) { Numero n= new Numero(); } } 5. Uma calculadora que realize as operações básicas import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class Calculadora extends JFrame implements ActionListener { JLabel lblResultado; JTextField txtResultado; JTextField txtValor; JTextField txtValor1; JTextField txtResultado1; JButton btnCalcular; JLabel lblValor; JLabel lblValor1; float valor, valor1, resultado, resultado1; String op; int opcao, cont; public Calculadora() { setSize(400,300); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); op = JOptionPane.showInputDialog("calculadora\n 1- Somar\n 2- Subtrair \n 3- Multiplicar \n 4- Dividir \n 5- Raiz Quadrada\n 6= Exponenciacao \n escolha a opcao"); opcao=Integer.parseInt(op); if(opcao>=7) { JOptionPane.showMessageDialog(null,"Opção Invalida", "",JOptionPane.ERROR_MESSAGE); op = JOptionPane.showInputDialog("CALCULARORA\n 1- Somar\n 2- Subtrair \n 3- Multiplicar \n 4Dividir \n 5- Raiz Quadrada \n 6- Exponenciacao \n escolha a opcao"); opcao=Integer.parseInt(op); } setLayout(new GridBagLayout()); GridBagConstraints c= new GridBagConstraints(); lblResultado= new JLabel("Resultado:"); txtResultado= new JTextField(10); btnCalcular= new JButton("Calcula"); btnCalcular.addActionListener(this); txtValor= new JTextField(10); txtValor1= new JTextField(10); txtResultado1= new JTextField(10); lblValor= new JLabel("Digite Valor 1:"); lblValor1= new JLabel("Digite o valor 2:"); c.fill = GridBagConstraints.BOTH; c.gridx=0; c.gridy=0; add(lblValor,c); c.gridx=1; c.gridy=0; add(txtValor,c); c.gridx=0; c.gridy=1; add(lblValor1,c); c.gridx=1; c.gridy=1; add(txtValor1,c); c.gridx=0; c.gridy=3; getContentPane().add(btnCalcular,c); c.gridx=1; c.gridy=3; add(txtResultado,c); c.gridx=0; c.gridy=4; add(txtResultado1,c); } public void actionPerformed(ActionEvent arg0) { switch (opcao) { case 1: valor=Float.parseFloat(txtValor.getText()); valor1= Float.parseFloat(txtValor1.getText()); resultado= valor+valor1; txtResultado.setText(Float.toString(resultado)); break; case 2: valor=Float.parseFloat(txtValor.getText()); valor1= Float.parseFloat(txtValor1.getText()); resultado= valor-valor1; txtResultado.setText(Float.toString(resultado)); break; case 3: valor=Float.parseFloat(txtValor.getText()); valor1= Float.parseFloat(txtValor1.getText()); resultado = valor*valor1; txtResultado.setText(Float.toString(resultado)); break; case 4: valor=Float.parseFloat(txtValor.getText()); valor1= Float.parseFloat(txtValor1.getText()); resultado= valor/valor1; txtResultado.setText(Float.toString(resultado)); break; case 5: valor=Float.parseFloat(txtValor.getText()); valor1=Float.parseFloat(txtValor1.getText()); resultado= (float) Math.sqrt(valor); resultado1=(float) Math.sqrt(valor1); txtResultado.setText(Float.toString(resultado)); txtResultado1.setText(Float.toString(resultado1)); break; case 6: valor=Float.parseFloat(txtValor.getText()); valor1= Float.parseFloat(txtValor1.getText()); resultado= (float) Math.pow(valor,valor1); txtResultado.setText(Float.toString(resultado)); break; default: break; } } public static void main(String[] args) { Calculadora c= new Calculadora(); } } 6.Ler o nome da pessoa e o ano de nascimento, caso tenha mais de 18 anos imprimir o nome da pessoa,e a idade. import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class Idade extends JFrame implements ActionListener { JLabel lblNome; JTextField txtNome; JLabel lblIdade; JTextField txtIdade; JButton btnCalcular; JTextField txtCalcular; String nome; int idade, ano, resultado; public Idade() { setLayout(new FlowLayout()); setSize(400,300); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); lblNome = new JLabel("Digite o seu nome:"); txtNome= new JTextField(20); lblIdade= new JLabel("Digite o ano do seu nascimento:"); txtIdade= new JTextField(10); btnCalcular = new JButton("Calcular:"); btnCalcular.addActionListener(this); txtCalcular= new JTextField(10) add(lblNome); add(txtNome); add(lblIdade); add(txtIdade); add(btnCalcular); add(txtCalcular); } public void actionPerformed(ActionEvent arg0) { nome=txtNome.getText(); idade= Integer.parseInt(txtIdade.getText()); resultado=2009-idade; if(resultado>18) { JOptionPane.showMessageDialog(null,nome+"tem"+resultado+"e maior de idade"); txtCalcular.setText(Integer.toString(resultado)); } if(resultado<18) { JOptionPane.showMessageDialog(null,nome+"tem"+ resultado+"e menor de idade"); txtCalcular.setText(Integer.toString(resultado)); } } public static void main(String[] args) { Idade i= new Idade(); } } 7. Programa que leia um peso na terra e o número de um planeta e imprima o valor do seu peso neste planeta. import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class Peso extends JFrame implements ActionListener { JLabel lblPeso; JTextField txtPeso; JLabel lblResultado; JTextField txtResultado; JButton btnCalcular; String op; int opcao; float resultado, peso; public Peso() { setVisible(true); setSize(400,300); setDefaultCloseOperation(EXIT_ON_CLOSE); op=JOptionPane.showInputDialog("PLANETAS\n 1- Mercurio \n 2- Venus \n 3- Marte \n 4- Jupiter\n 5-Saturno \n 6- Urano\n Escola o tipo de planeta"); opcao=Integer.parseInt(op); if(opcao>=7) { JOptionPane.showMessageDialog(null,"Opção Inválida", "",JOptionPane.ERROR_MESSAGE); op = JOptionPane.showInputDialog("Planetas\n 1- Mercúrio \n 2- Vênus \n 3- Marte \n 4- Júpiter\n 5Saturno \n 6- Urano\n Escola o tipo de planeta"); opcao=Integer.parseInt(op); } setLayout(new FlowLayout()); lblPeso= new JLabel("Digite seu peso:"); txtPeso= new JTextField(10); lblResultado= new JLabel("Seu peso e:"); txtResultado= new JTextField(10); btnCalcular= new JButton("Calcula"); btnCalcular.addActionListener(this); add(lblPeso); add(txtPeso); add(lblResultado); add(txtResultado); add(btnCalcular); } public void actionPerformed(ActionEvent arg0) { switch(opcao) { case 1: peso= Float.parseFloat(txtPeso.getText()); resultado= peso*(float)0.37; txtResultado.setText(Float.toString(resultado)); JOptionPane.showMessageDialog(null, "Seu peso em mercurio e:"+resultado); break; case 2: peso= Float.parseFloat(txtPeso.getText()); resultado= peso*(float)0.88; txtResultado.setText(Float.toString(resultado)); JOptionPane.showMessageDialog(null, "Seu peso em Venus e:"+resultado); break; case 3: peso= Float.parseFloat(txtPeso.getText()); resultado= peso*(float)0.38; txtResultado.setText(Float.toString(resultado)); JOptionPane.showMessageDialog(null, "Seu peso em Marte e:"+resultado); break; case 4: peso= Float.parseFloat(txtPeso.getText()); resultado= peso*(float)2.64; txtResultado.setText(Float.toString(resultado)); JOptionPane.showMessageDialog(null, "Seu peso em Jupiter e:"+resultado); break; case 5: peso= Float.parseFloat(txtPeso.getText()); resultado= peso*(float)1.15; txtResultado.setText(Float.toString(resultado)); JOptionPane.showMessageDialog(null, "Seu peso em Saturno e:"+resultado); break; case 6: peso= Float.parseFloat(txtPeso.getText()); resultado= peso*(float)1.17; txtResultado.setText(Float.toString(resultado)); JOptionPane.showMessageDialog(null, "Seu peso em Urano e:"+resultado); break; default: break; } } public static void main(String[] args) { Peso p= new Peso(); } } 8.Criar um programa que informe a quantidade total de calorias de uma refeição a partir da escolha do usuário que deverá informar o prato, a sobremesa e bebida. import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class Caloria extends JFrame implements ActionListener { JLabel lblCal; JLabel lblCal1; JLabel lblPrato; JLabel lblPrato1; JLabel lblSobreMesa; JLabel lblSobreMesa1; JLabel lblBebida; JLabel lblBebida1; JTextField txtPrato; JTextField txtSobreMesa; JTextField txtBebida; JButton btnCalcular; JButton btnLimpa; String op, op1,op2; int opcao,opcao1,opcao2; int cal1,cal2,cal3,res; public Caloria() { setVisible(true); setSize(400,300); setDefaultCloseOperation(EXIT_ON_CLOSE); op = JOptionPane.showInputDialog("PRATO \n1-Vegetariano\n 2- Peixe\n 3- Frango \n 4- Carne"); opcao= Integer.parseInt(op); op1 = JOptionPane.showInputDialog("SOBREMESA \n1-Abacaxi\n 2- Sorvete\n 3- Mouse diet \n 4- Mousse Chocolate"); opcao1= Integer.parseInt(op1); op2 = JOptionPane.showInputDialog("BEBIDAS \n1-Chá\n 2- Suco de laranja\n 3- Suco de melao \n 4Refrigerante"); opcao2= Integer.parseInt(op2); setLayout(new FlowLayout()); lblPrato = new JLabel("Prato escolhido:"); txtPrato= new JTextField(10); lblPrato1 = new JLabel(""); lblSobreMesa= new JLabel("SobreMesa Escolhida:"); txtSobreMesa= new JTextField(10); lblSobreMesa1=new JLabel(""); lblBebida= new JLabel("Bebida escolhida:"); txtBebida= new JTextField(10); lblBebida1= new JLabel(""); lblCal = new JLabel(""); lblCal1 = new JLabel("Resultado"); btnCalcular= new JButton("ok"); btnCalcular.addActionListener(this); btnLimpa= new JButton("Limpar"); btnLimpa.addActionListener(this); add(lblPrato); add(txtPrato); add(lblPrato1); add(lblSobreMesa); add(txtSobreMesa); add(lblSobreMesa1); add(lblBebida); add(txtBebida); add(lblBebida1); add(lblCal1); add(lblCal); add(btnCalcular); add(btnLimpa); txtPrato.setText(op); txtSobreMesa.setText(op1); txtBebida.setText(op2); } public void actionPerformed(ActionEvent arg0) { if(arg0.getSource()==btnCalcular) { switch (opcao) { case 1: lblPrato1.setText("Opção escolhida foi prato vegetariano e possui 180 cal."); cal1=180; break; case 2: lblPrato1.setText("Opção escolhida foi peixe e possui 230 cal."); cal1=230; break; case 3: lblPrato1.setText("Opção escolhida foi frango e possui 250 cal."); cal1=250; break; case 4: lblPrato1.setText("Opção escolhida foi carne e possui 350 cal."); cal1=350; break; default: lblPrato1.setText("Não existe essa opação"); break; } switch (opcao1) { case 1: lblSobreMesa1.setText("Opção escolhida foi abacaxi e possui 75 cal."); cal2=75; break; case 2: lblSobreMesa1.setText("Opção escolhida foi Sorvete diet e possui 110 cal."); cal2=110; break; case 3: lblSobreMesa1.setText("Opção escolhida foi Mousse diet e possui 170 cal."); cal2=170; break; case 4: lblSobreMesa1.setText("Opção escolhida foi Mousse de chocolate e possui 200 cal."); cal2=200; break; default: lblSobreMesa1.setText("Não existe essa opação"); break; } switch (opcao2) { case 1: lblBebida1.setText("Opção escolhida foi chá e possui 20 cal."); cal3=20; break; case 2: lblBebida1.setText("Opção escolhida foi Suco de Laranja e possui 70 cal."); cal3=70; break; case 3: lblBebida1.setText("Opção escolhida foi Suco de Melão e possui 100 cal."); cal3=100; break; case 4: lblBebida1.setText("Opção escolhida foi Refrigerante e possui 65 cal."); cal3=65; break; default: lblBebida1.setText("Não existe essa opação"); break; } res=cal1+cal2+cal3; lblCal.setText(Integer.toString(res)); } if(arg0.getSource()==btnLimpa) { txtPrato.setText(""); txtSobreMesa.setText(""); txtBebida.setText(""); lblPrato1.setText(""); lblSobreMesa1.setText(""); lblBebida1.setText(""); lblCal.setText(""); lblCal1.setText(""); op = JOptionPane.showInputDialog("PRATO \n1-Vegetariano\n 2- Peixe\n 3- Frango \n 4- Carne"); opcao= Integer.parseInt(op); op1 = JOptionPane.showInputDialog("SOBREMESA \n1-Abacaxi\n 2- Sorvete\n 3- Mouse diet \n 4Mousse Chocolate"); opcao1= Integer.parseInt(op1); op2 = JOptionPane.showInputDialog("BEBIDAS \n1-Chá\n 2- Suco de laranja\n 3- Suco de melão \n 4Refrigerante"); opcao2= Integer.parseInt(op2); } } public static void main(String[] args) { Caloria c= new Caloria(); } } CONCLUSAO CONCLUINDO-SE QUE NESSE TRABALHO FOI REALIZADO UMA LISTA DE EXERCICIOS EM JAVA.