Java cmd报错找不到符号

java cmd报错找不到符号

代码是这样的:

import java.util.Scanner;
public class Sanjiaoxing{        
    private int a;
    private int b;
    private int c;
    public void Delta(int A,int B, int C){
        this.a=A;
        this.b=B;
        this.c=C;
    }
    public double Area() {
        double d=(a+b+c)/2;
        return Math.sqrt(d*(d-a)*(d-b)*(d-c));    
    }    
    public static void main(String args[]) {
        Scanner input=new Scanner(System.in);            
        int a,b,c;                        
        System.out.print("输入三条边:");
        a=input.nextInt();
        b=input.nextInt();
        c=input.nextInt();
        if(a+b>c && a+c>b && b+c>a) {
            Delta s[]=new Delta(a,b,c);
            System.out.println("面积:"+s.Area());
        }
        else{
            int min=a;
            if(bif(cnew Delta(min,min,min);
            System.out.println("面积:"+s.Area());
            }
        }
}

img


想了好久,为啥Delta成类了

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
您的代码中出现了一个错误,Delta 是一个方法,不应该作为类名使用。在代码中,您使用 Delta 来定义了一个数组,但是 Delta 并没有被定义为一个类,所以 Java 编译器无法识别 Delta 类型的数组。

您可以将 Delta 方法重命名为 setSides,这样就可以避免类名与方法名相同的问题。修改后的代码如下:

import java.util.Scanner;

public class Sanjiaoxing {
    private int a;
    private int b;
    private int c;

    public void setSides(int A, int B, int C) {
        this.a = A;
        this.b = B;
        this.c = C;
    }

    public double area() {
        double d = (a + b + c) / 2;
        return Math.sqrt(d * (d - a) * (d - b) * (d - c));
    }

    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        int a, b, c;
        System.out.print("输入三条边:");
        a = input.nextInt();
        b = input.nextInt();
        c = input.nextInt();
        if (a + b > c && a + c > b && b + c > a) {
            Sanjiaoxing s = new Sanjiaoxing();
            s.setSides(a, b, c);
            System.out.println("面积:" + s.area());
        } else {
            int min = a;
            if (b < min)
                min = b;
            if (c < min)
                min = c;
            Sanjiaoxing s = new Sanjiaoxing();
            s.setSides(min, min, min);
            System.out.println("面积:" + s.area());
        }
    }
}

在上面的代码中,我们将 Delta 改为了 setSides,同时也将 Area 改为了 area,这样代码就可以正确编译和运行了。

希望这个解答能够帮助您解决问题。如果您还有其他问题,可以继续提问。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

你定义的类是Sanjiaoxing
不是
Delta
修改下

你都new 了,肯定是类,