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());
}
}
}
该回答通过自己思路及引用到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 了,肯定是类,