这个句柄无效什么意思

这是报错

这是代码

package biyesheji;
import java.io.*;
import java.lang.Math;
public class pqx{//牵引车+长轴距挂车
    public static void main(String[] args) throws IOException{
        double a,b,c,d,e,f,g,h,j,k,m,n,p,q;
        BufferedReader buf;
        String str;
        buf =new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入牵引车轴距:");
        str=buf.readLine();
        a=Float.parseFloat(str);
        System.out.print("请输入牵引车最前端到牵引车后轴的距离:");
        str=buf.readLine();
        b=Float.parseFloat(str);
        System.out.print("请输入铰接点到挂车中心轴的距离:");
        str=buf.readLine();
        c=Float.parseFloat(str);
        System.out.print("请输入铰接角:");
        str=buf.readLine();
        d=Float.parseFloat(str);
        System.out.print("请输入轮胎宽度:");
        str=buf.readLine();
        e=Float.parseFloat(str);
        System.out.print("请输入牵引车轮距:");
        str=buf.readLine();
        f=Float.parseFloat(str);
        System.out.print("请输入牵引车车:");
        str=buf.readLine();
        g=Float.parseFloat(str);
        System.out.print("请输入偏置距:");
        str=buf.readLine();
        h=Float.parseFloat(str);
        System.out.print("请输入挂车轮距:");
        str=buf.readLine();
        Float.parseFloat(str);
        System.out.print("请输入挂车车宽:");
        str=buf.readLine();
        j=Float.parseFloat(str);
        System.out.print("请输入通行道路转弯半径:");
        str=buf.readLine();
        n=Float.parseFloat(str);
        System.out.print("请输入通行道路有效路面宽度:");
        str=buf.readLine();
        q=Float.parseFloat(str);
        m=Math.sqrt(Math.pow(a,2)+Math.pow(((Math.sqrt(Math.pow(c/(Math.sin(d)),2)-Math.pow(h,2)))+f/2+e),2));
        k=Math.sqrt(Math.pow(b,2)+Math.pow(((Math.sqrt(Math.pow(c/(Math.sin(d)),2)-Math.pow(h,2)))+g/2),2));
        p=k-(c/(Math.tan(d))-j/2)+1/2;
        System.out.println("车辆转弯半径R="+(m));
        System.out.println("车辆扫空宽度D="+(p));
        if(m>n&p<=q){System.out.println("满足车辆的转弯半径R大于通行道路的转弯半径且扫空宽度小于或等于通行道路的有效路面宽度。故能安全通过");
            }else{System.out.println("不满足车辆的转弯半径大于通行道路的转弯半径且扫空宽度小于或等于通行道路的有效路面宽度。故不能安全通过");
                
            }

求各位大佬解答


    }
}

1.换个高版本的JDK.(未试过)

2.将tomcat的虚拟机(指向jre目录)指向JDK目录. 如:tomcat原来的虚拟机是指向:C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dll 则指向C:\Program Files\Java\jdk1.6.0_02\jre\bin\client\jvm.dll

试试