Programação Java: Aplicativo gráfico: mostra as raízes de uma equação do segundo grau

Linguagem Java , Programação Java, Java Curso gratis.

  • Java program that resolves quadratic equations

Exercício:

Aplicativo em Java que resolve uma equação do segundo grau, todo feito de modo gráfico, em caixas de diálogo. Código inteiramente comentado.

Programa em Java

Passo 1: 
Primeiro o programa recebe os dados do usuário, que são os 3 coeficientes da equação, ‘a’, ‘b’ e ‘c’:
ax² + bx + c = 0

Passo 2:

Uma equação do 2o grau só é do segundo grau se ‘a’ for diferente de 0.
Caso o usuário entre com o valor 0 o programa entrará em um loop até que o usuário entre com um valor diferente de 0.

Passo 3:

import javax.swing.JOptionPane;<br /><br />public class bhaskara_dialogBoxes {<br /><br /> public static float delta(float a, float b, float c){<br /> return (bb 4ac);<br /> }<br /><br /> public static void main(String[] args){<br /> String valor, raizes;<br /> float a=0, b, c, //coeficientes<br /> delta, //delta<br /> sqrtdelta, //raiz quadrada de delta<br /> raiz1,raiz2; //raízes<br /><br /> //PASSO 1: recebe os coeficientes<br /> valor = JOptionPane.showInputDialog("Digite o valor de a");<br /> a = Float.parseFloat(valor.trim());<br /><br /> valor = JOptionPane.showInputDialog("Digite o valor de b");<br /> b = Float.parseFloat(valor.trim());<br /><br /> valor = JOptionPane.showInputDialog("Digite o valor de c");<br /> c = Float.parseFloat(valor.trim());<br /><br /> //PASSO 2: checa se 'a' não é 0<br /> while(a==0){<br /> if(a==0){<br /> valor = JOptionPane.showInputDialog("'a' não pode ser 0. Insira outro valor");<br /> a = Float.parseFloat(valor.trim());<br /> }<br /> }<br /><br /> //PASSO 3: checa se o delta é positivo. Se for, mostra as raízes reais<br /> if(delta(a,b,c)>=0){<br /> raiz1 = (-b + (float)Math.sqrt(delta(a,b,c)))/(2a);<br /> raiz2 = (-b (float)Math.sqrt(delta(a,b,c)))/(2a);<br /><br /> raizes = String.format("As raízes são: %.2f e %.2f", raiz1,raiz2);<br /><br /> JOptionPane.showMessageDialog(null,raizes);<br /><br /> //PASSO 4: caso seja negativo, devemos formatar para a exibição para números complexos <br /> } else {<br /><br /> raizes = String.format("As raízes são:n" +<br /> "%.2f + %.2fin" +<br /> "%.2f %.2fi",(-b/(2a)), ( (float)Math.sqrt(-delta(a,b,c) ) / (2a) )<br /> ,(-b/(2a)), ( (float)Math.sqrt(-delta(a,b,c) ) / (2*a) )<br /> );<br /><br /> JOptionPane.showMessageDialog(null,raizes);<br /><br /> }<br /> }<br /><br />}<br /><br />