为什么输出结果是这样的,应该怎么修改


package homework3;


import java.util.Scanner;
import static java.lang.Math.*;
public class B {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        double l1,l2,l3;
        double sin,r,area=0;
        while(in.hasNext())
        {
            l1=in.nextDouble();
            l2=in.nextDouble();
            l3=in.nextDouble();
            sin=sqrt(1-pow((l3*l3+l2*l2-l1*l1)/2*l3*l2, 2));
              r=(l1/2)/sin;
               area=PI*r*r;
              System.out.printf("area = %.2f\n",area);
            
        }
    }

}

img

img

红色方框中结果是负数之后,再开平方就是NaN,负数没有平方根,你试试三个数都输 1

img