【发布时间】:2021-03-16 05:24:38
【问题描述】:
我正在制作一个 java 程序来计算三角形和正方形的面积和周长,我需要在其中创建三角形和正方形类的对象并从中获取输入。我已经为它编写了一些代码,但它没有将输入作为参数。我不明白可能是什么问题。请帮忙
geometricFigure.java - 这是界面
public interface GeometricFigure {
public void area(double sideOne, double sideTwo, double sideThree);
public void perimeter(double sideOne, double sideTwo, double sideThree);
public void print();
}
trisqu.java - 这是具有主要功能的文件
public class trisqu{
public static void main(String[] args) {
double sideOne, sideTwo , sideThree;
//Triangle tr = new GeometricFigure();
Triangle[] tr = new Triangle[3];
tr[0] = new Triangle(4,9,12);
tr[1] = new Triangle(9,16,25);
tr[2] = new Triangle(8,12,14);
for (int i=0;i<tr.length;i++){
System.out.println("Triangle Object :"+(i+1)+" ");
tr[i].area(sideOne, sideTwo, sideThree);
tr[i].perimeter(sideOne, sideTwo, sideThree);
tr[i].print();
}
//Square sq = new GeometricFigure();
Square[] sq = new Square[3];
sq[0] = new Square(8);
sq[1] = new Square(32);
sq[2] = new Square(16);
for (int i=0;i<sq.length;i++){
System.out.println("Square Object : "+(i+1)+ " ");
sq[i].area(sideOne, sideTwo, sideThree);
sq[i].perimeter(sideOne, sideTwo, sideThree);
sq[i].print();
}
}
}
square.java - 这是 square 的文件
public class Square implements GeometricFigure{
private double SqArea, SqPerimeter, side;
Square(double side){}
@Override
public void area(double sideOne, double sideTwo, double sideThree) {
SqArea = sideOne*sideOne;
}
@Override
public void perimeter(double sideOne,double sideTwo,double sideThree) {
SqPerimeter = sideOne*4;
}
@Override
public void print(){
System.out.print("Area = "+SqArea+" Perimeter = "+SqPerimeter);
System.out.println("\n");
}
}
triangle.java- 这是 trianlge 的文件`
import java.lang.Math;
public class Triangle implements GeometricFigure{
private double sideOne, sideTwo, sideThree,TriArea,TriPerimeter;
public Triangle(double sideOne, double sideTwo, double sideThree){
}
double halfp = (sideOne + sideTwo + sideThree)/2;
@Override
public void area(double sideOne, double sideTwo, double sideThree){
TriArea = Math.sqrt(halfp*(halfp - sideOne)*(halfp - sideTwo)*(halfp - sideThree));
}
@Override
public void perimeter(double sideOne, double sideTwo, double sideThree){
TriPerimeter = sideOne + sideTwo + sideThree;
}
@Override
public void print(){
System.out.print("Area = "+TriArea+" Perimeter = "+TriPerimeter);
System.out.println("\n");
}
}
请帮忙,我是 java 或任何语言的新手。
【问题讨论】:
标签: java arrays object input methods