java求三角形的周长和面积 萌新求解答!

import java.util.Scanner;
import java.lang.math;
public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
           int ri, repeat;
              float a, b, c, area, perimeter, s;
              Scanner in=new Scanner(System.in);
              repeat=in.nextInt();
              for(ri=1; ri<=repeat; ri++){
                  a=in.nextFloat();
                  b=in.nextFloat();
                  c=in.nextFloat();
                  if((a<b+c)&&(b<a+c)&&(c<a+b)){
                      s=(a+b+c)/2;
                      area = Math.sqrt (s*(s-a)*(s-b)*(s-c));
                      perimeter=a+b+c;
                    System.out.println("area="+(int)(area*100+0.5)/100.+";perimeter="+(int)(perimeter*100+0.5)/100.);
                  }
                  else{
                      System.out.println("These sides do not correspond to a valid triangle");
                  }
                               }
           }
        }

程序一直报错,可以帮我看看哪里出错了嘛qwq

img

改为:area = (float) Math.sqrt(s*(s-a)(s-b)(s-c));


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int ri, repeat;
        float a, b, c, area, perimeter, s;
        Scanner in=new Scanner(System.in);
        repeat=in.nextInt();
        for(ri=1; ri<=repeat; ri++){
            a=in.nextFloat();
            b=in.nextFloat();
            c=in.nextFloat();
            if((a<b+c)&&(b<a+c)&&(c<a+b)){
                s=(a+b+c)/2;
                area = (float) Math.sqrt(s*(s-a)*(s-b)*(s-c));
                perimeter=a+b+c;
                System.out.println("area="+(int)(area*100+0.5)/100.+";perimeter="+(int)(perimeter*100+0.5)/100.);
            }
            else{
                System.out.println("These sides do not correspond to a valid triangle");
            }
        }
    }


img

Math.sqrt返回为double,double是不能直接赋值给float的,要么改上面为double,要么Math.sqrt的结果强转为float