/*
常用的对话框的类:
JOptionPane.showInputDialog(null, text, title,value)
JOptionPane类可显示可包含文本、按钮等的消息框。
JOptionPane.showInputDialog方法返回用户输入的字符串。
显示在输入对话框中的标题、消息及图标等由传递给该方法的参数确定,参数text是要在输入对话框中显示的字符串,参数 title是要在输入对话框的标题栏中显示的字符串,参数value为要显示的图标,值为JOptionPane类常量。第1个参数的值为null表示对话框显示在屏幕中央。
value 通常为:JOptionPane.QUESTION_MESSAGE,其值为3;
JOptionPane.showMessageDilog(a,b,c,d);一般a 为null,b为要显示在对话框的值,c为对话框的标题,d为JOptionPane.INFORMATION_MESSAGE;
另外:对浮点型数据的精度处理,保留小数点位数。
如保留两位小数。
String.format(“%.2f”,value);
*/
package 一元二次方程;
import java.awt.*;
import javax.swing.*;
import java.util.Scanner;
public class Formula {
public static void main(String[] args)
{
String input_a=JOptionPane.showInputDialog(null, "请输入二次项的系数a:");
String input_b=JOptionPane.showInputDialog(null,"请输入一次项的系数b:");
String input_c=JOptionPane.showInputDialog(null,"请输入常数项的系数c:");
int a=Integer.parseInt(input_a); //输入的字符串转化为整数
int b=Integer.parseInt(input_b);
int c=Integer.parseInt(input_c);
if(a==0)
{
if(b==0){
if(c==0)
JOptionPane.showMessageDialog(null,"无穷多个","所求方程"+a+"*x^2"+"+"+b+"*x"+"+"+c+"=0"+"的解为:",
JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null,"无解","所求方程"+a+"*x^2"+"+"+b+"*x"+"+"+c+"=0"+"的解为:",
JOptionPane.INFORMATION_MESSAGE);
}
else
JOptionPane.showMessageDialog(null, "x="+-c/(b*1.0),"所求方程"+a+"*x^2"+"+"+b+"*x"+"+"+c+"=0"+"的解为:",
JOptionPane.INFORMATION_MESSAGE);
}
else
{
int d=b*b-4*a*c;
if(d>0)
{
double dd=Math.sqrt(d);
JOptionPane.showMessageDialog(null, "x1="+ String.format("%.2f", (-b+dd)/(2.0*a))+
"\n x2="+ String.format("%.2f",(-b-dd)/(2.0*a)),
"所求方程"+a+"*x^2"+"+"+b+"*x"+"+"+c+"=0"+"的解为:",JOptionPane.INFORMATION_MESSAGE);
}
else if(d==0)
{
JOptionPane.showMessageDialog(null, "x1=x2="+String.format("%.2f",-b/(2.0*a) ),
"所求方程"+a+"*x^2"+"+"+b+"*x"+"+"+c+"=0"+"的解为:",JOptionPane.INFORMATION_MESSAGE);
}
else
{
double dd=Math.sqrt(-d);
JOptionPane.showMessageDialog(null, "x1="+String.format("%.2f", -b/(2.0*a))+"+"+String.format("%.2f",dd/(2.0*a))+"i\n"
+"x2="+String.format("%.2f",-b/(2.0*a))+"-"+String.format("%.2f",dd/(2.0*a))+"i",
"所求方程"+a+"*x^2"+"+"+b+"*x"+"+"+c+"=0"+"的解为:",JOptionPane.INFORMATION_MESSAGE);
}
}
}
}