Javaクラス用のプロジェクトで、形状領域/周囲の電卓を作成しています。私はタイトルに記載されているコンストラクターのエラーを取得し続けます。 Shape.javaクラスのファイルには、より多くのコードも含まれています。コンストラクタShapeクラスは、指定された型には適用できません
メイン:
package project_3;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Shape circle = new Shape(1);
Shape triangle = new Shape(3);
Shape rectangle = new Shape(4);
Shape polygon = new Shape(8);
circle.performCalculations(6.28);
triangle.performCalculations(3, 4, 5);
rectangle.performCalculations(4, 7);
polygon.performCalculations(5);
System.out.println("Ima Java Programmer");
System.out.println("Project 3");
System.out.println(" ");
System.out.println("Shape" + "Area" + "Perimeter");
System.out.println("---------" + "---------" + "---------");
System.out.println("Circle" + circle.area + circle.perimeter);
System.out.println("Triangle" + triangle.area + triangle.perimeter);
System.out.println("Rectangle" + rectangle.area + rectangle.perimeter);
System.out.println("Polygon" + polygon.area + polygon.perimeter);
}
}
Shape.Javaコード:
package project_3;
public class Shape {
int numSides;
double area;
char name;
double perimeter;
int p;
int sideA;
int sideB;
int sideC;
double radius;
public Shape(int numSides, double area, double perimeter, char name) {
}
public double calcArea(double radius) {
area = 3.14 * Math.pow(radius, 2);
return area;
}
public int calcArea(int length) {
area = (Math.pow(numSides, 2) * length)/(4 * Math.tan(180/length));
return (int)area;
}
public int calcArea(int length, int width) {
area = length * width;
return (int)area;
}
public int calcArea(int sideA, int sideB, int sideC) {
p = (sideA + sideB + sideC)/2;
area = Math.sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
return (int)area;
}
public double calcPerimeter(double radius) {
perimeter = 2 * 3.14 * Math.pow(radius, 2);
return perimeter;
}
public int calcPerimeter(int length) {
perimeter = length * numSides;
return (int)perimeter;
}
public int calcPerimeter(int length, int width) {
perimeter = 2 * length + 2 * width;
return (int)perimeter;
}
public int calcPerimeter(int sideA, int sideB, int sideC) {
perimeter = sideA + sideB + sideC;
return (int)perimeter;
}
public void performCalculations(double radius) {
//How do we perform the actual calculations? Correct?
calcArea(1);
calcPerimeter(6.28);
}
@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}
}
何かアドバイスは非常に参考になります。私はGoogleが答えを見つけようとしていることを強く批判してきており、答えを出すことはできません。
シェイプのコンストラクタには4つのパラメータが必要ですが、1つしか提供していません... – MadProgrammer