Equações

5 respostas
rnldfll

Galera queria a opinião de vocês sobre esse exercicio que eu mesmo dei para mim fazer:

Resolver as equações de primeiro e segundo grau simples em um programinha basico kkk

dai consegui fazer assim, avaliem e veja se ta legal:

[color=red]Equação de Primeiro Grau[/color]

import java.awt.Font;
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.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;


public class EquacaoPrimeiroGrau extends JFrame {

	private JPanel contentPane;
	private JTextField text1;
	private JTextField text2;
	private JLabel label;
	private JTextField text3;
	private JLabel lblNewLabel;
	private JLabel lblNewLabel_1;
	
	public EquacaoPrimeiroGrau() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 285, 128);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblResultado = new JLabel("Resultado:");
		lblResultado.setBounds(10, 65, 76, 14);
		contentPane.add(lblResultado);
		
		text1 = new JTextField();
		text1.setHorizontalAlignment(SwingConstants.CENTER);
		text1.setBounds(10, 27, 27, 20);
		contentPane.add(text1);
		text1.setColumns(10);
		
		text2 = new JTextField();
		text2.setHorizontalAlignment(SwingConstants.CENTER);
		text2.setBounds(73, 27, 27, 20);
		contentPane.add(text2);
		text2.setColumns(10);
		
		JLabel lblX = new JLabel("x  +");
		lblX.setFont(new Font("Tahoma", Font.BOLD, 13));
		lblX.setHorizontalAlignment(SwingConstants.CENTER);
		lblX.setBounds(27, 30, 59, 14);
		contentPane.add(lblX);
		
		label = new JLabel("=");
		label.setFont(new Font("Tahoma", Font.BOLD, 13));
		label.setHorizontalAlignment(SwingConstants.CENTER);
		label.setBounds(96, 29, 27, 18);
		contentPane.add(label);
		
		text3 = new JTextField();
		text3.setBounds(120, 27, 27, 20);
		contentPane.add(text3);
		text3.setColumns(10);
		
		lblNewLabel = new JLabel("100");
		lblNewLabel.setBounds(96, 65, 68, 14);
		contentPane.add(lblNewLabel);
		
		JButton btnNewButton = new JButton("Ok");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				double um = Integer.parseInt(text1.getText());
				double dois = Integer.parseInt(text2.getText()); 
				double tres = Integer.parseInt(text3.getText());
				
				double result = (tres-dois)/um;
				String resultado = String.valueOf(result);	
				resultado = resultado.replace(".", ",");
				lblNewLabel.setText(resultado);
			}
		});
		btnNewButton.setBounds(184, 26, 59, 23);
		contentPane.add(btnNewButton);
		
		lblNewLabel_1 = new JLabel("Equa\u00E7\u00E3o de Primeiro Grau");
		lblNewLabel_1.setFont(new Font("Script MT Bold", Font.BOLD, 15));
		lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
		lblNewLabel_1.setBounds(0, 4, 269, 20);
		contentPane.add(lblNewLabel_1);
		
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new EquacaoPrimeiroGrau();
	}

}

[color=red]Equação de Segundo Grau[/color]

import java.awt.Font;
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.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;


public class EquacaoDeSegundoGrau extends JFrame {

	private JPanel contentPane;
	private JTextField text1;
	private JTextField text2;
	private JTextField text3;
	private JLabel lblEquaoDeSegundo;
	private JButton btnOk;
	private JLabel lblResultado;
	private JLabel lblX_1;
	private JLabel lblX_2;
	private JLabel resultx1;
	private JLabel resultx2;

	public EquacaoDeSegundoGrau() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 344, 132);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		text1 = new JTextField();
		text1.setBounds(10, 27, 29, 20);
		contentPane.add(text1);
		text1.setColumns(10);
		
		JLabel lblNewLabel = new JLabel("x\u00B2 + ");
		lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 13));
		lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
		lblNewLabel.setBounds(38, 29, 40, 18);
		contentPane.add(lblNewLabel);
		
		text2 = new JTextField();
		text2.setBounds(72, 27, 29, 20);
		contentPane.add(text2);
		text2.setColumns(10);
		
		JLabel lblX = new JLabel("x -");
		lblX.setFont(new Font("Tahoma", Font.BOLD, 13));
		lblX.setHorizontalAlignment(SwingConstants.CENTER);
		lblX.setBounds(100, 30, 29, 17);
		contentPane.add(lblX);
		
		text3 = new JTextField();
		text3.setBounds(127, 27, 29, 20);
		contentPane.add(text3);
		text3.setColumns(10);
		
		JLabel lblNewLabel_1 = new JLabel("= 0");
		lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
		lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 13));
		lblNewLabel_1.setBounds(149, 30, 45, 14);
		contentPane.add(lblNewLabel_1);
		
		lblEquaoDeSegundo = new JLabel("Equa\u00E7\u00E3o de Segundo Grau");
		lblEquaoDeSegundo.setFont(new Font("Script MT Bold", Font.BOLD, 15));
		lblEquaoDeSegundo.setHorizontalAlignment(SwingConstants.CENTER);
		lblEquaoDeSegundo.setBounds(0, 0, 318, 25);
		contentPane.add(lblEquaoDeSegundo);
		
		btnOk = new JButton("Ok");
		btnOk.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				double um = Double.parseDouble(text1.getText());
				double dois = Double.parseDouble(text2.getText());
				double tres = Double.parseDouble(text3.getText());				
				double delta = (dois*dois)-(4*um*(-tres));
				
				double raizDelta = Math.sqrt(delta);
				
				double x11= (-dois)+raizDelta;
				double x12= 2*um;
				double x21 = (-dois)-raizDelta;
				double x22= 2*um;
				
				String deltaString = String.valueOf(raizDelta);
				
				if(!deltaString.endsWith(".0")){
					JOptionPane.showMessageDialog(null, "Raiz de Delta não exata!");
				}
				
				resultx1.setText(x11+" / "+x12);
				resultx2.setText(x21+" / "+x22);
			}
		});
		btnOk.setBounds(228, 29, 58, 23);
		contentPane.add(btnOk);
		
		lblResultado = new JLabel("Resultado :");
		lblResultado.setFont(new Font("Tahoma", Font.BOLD, 13));
		lblResultado.setHorizontalAlignment(SwingConstants.CENTER);
		lblResultado.setBounds(10, 58, 91, 25);
		contentPane.add(lblResultado);
		
		lblX_1 = new JLabel("x1 = ");
		lblX_1.setHorizontalAlignment(SwingConstants.CENTER);
		lblX_1.setBounds(110, 64, 29, 14);
		contentPane.add(lblX_1);
		
		lblX_2 = new JLabel("x2 = ");
		lblX_2.setHorizontalAlignment(SwingConstants.CENTER);
		lblX_2.setBounds(223, 64, 29, 14);
		contentPane.add(lblX_2);
		
		resultx1 = new JLabel("");
		resultx1.setBounds(137, 64, 78, 14);
		contentPane.add(resultx1);
		
		resultx2 = new JLabel("");
		resultx2.setBounds(250, 63, 78, 14);
		contentPane.add(resultx2);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new EquacaoDeSegundoGrau();
	}
}

5 Respostas

asousaj

Particularmente eu preferiria colocar os cálculos em outra classe só com essa finalidade.

rnldfll

Se tem uma coisa que eu não to conseguindo aprender direito, é como organizar classes, objetos, metodos(tipo Metodo tal vai em tal classe, kk), mais um dia chego lá;

rnldfll

Vixi acho que a equação de segundo grau está errada kk, mais tudo bem outro dia eu faço outra melhor =P

yurifw

eu gosto qdo a tela só chama metodos e exibe os dados, deixa o processamento todo com outras classes

E

Não use nomes obscuros para as variáveis.
Se em matemática os coeficientes de uma equação de segundo grau têm os nomes “a”, “b” e “c”, não use “um”, “dois” ou “tres” para os nomes das variáveis que representam esses coeficientes - use “a”, “b” e “c” mesmo !!!

Criado 21 de março de 2013
Ultima resposta 21 de mar. de 2013
Respostas 5
Participantes 4