我的任务:
创建一个名为Icosahedron的类,它将用于表示一个正二十面体,即一个凸面多面体,其中有20个等边三角形作为面。该课程应具有以下功能:
类型为 double 的私有实例变量 edge ,其中包含 边缘 长度。
类型为 int 的私有静态变量 count ,其中包含 已创建的二十面体对象的数量。
一个构造函数,它带有一个 double 参数,用于指定边长。
这是 实例方法 surface()返回表面区域 二十面体。这可以使用公式 5 *√3edge²计算。
这是 实例方法 volume(),它返回二十面体的体积。 这可以使用公式 5 *(3 +√5)/ 12 *edge³计算。
这是 实例方法 toString(),返回带边的字符串 长度,表面积和体积如下例所示:
Icosahedron[edge= 3.000, surface= 77.942, volume= 58.906]
此字符串中的数字应采用带字段的浮点格式 即(至少) 7个字符宽并显示 3个小数位。
请使用具有合适格式的静态方法 String.format 字符串来实现这一点。一个静态方法 getCount(),它返回 静态变量计数的值。
最后,将以下主要方法添加到您的Icosahedron类中,以便可以运行和测试它:
public static void main(String[] args) {
System.out.println("Number of Icosahedron objects created: " + getCount());
Icosahedron[] icos = new Icosahedron[4];
for (int i = 0; i < icos.length; i++)
icos[i] = new Icosahedron(i+1);
for (int i = 0; i < icos.length; i++)
System.out.println(icos[i]);
System.out.println("Number of Icosahedron objects created: " + getCount());
}
好。以下是我的开始:
import java.util.Scanner;
public class Icosahedron {
private double edge = 0;
private int count = 0;
Scanner input = new Scanner(System.in);
double useredge = input.nextDouble();
System.out.println("Enter Edge Length: ");
}
我在最后一行收到错误。我不能使用println()我做错了什么?或者我可能理解错误的问题?任何指导都将不胜感激。
感谢。
答案 0 :(得分:1)
您的二十面体课程应如下所示:
public class Icosahedron {
private double edge;
private int count;
public Icosahedron(int count) {
this.count = count;
}
public double getEdge() {
return edge;
}
public void setEdge(double edge) {
this.edge = edge;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public String toString() {
return "Icosahedron{edge=" + edge + ", count=" + count + '}';
}
}
您的类包含main
方法(我称之为MoreProblem
):
import java.util.Scanner;
public class MoreProblem {
public static void main(String[] args) {
Icosahedron[] icos = new Icosahedron[4];
for (int i = 0; i < icos.length; i++) {
icos[i] = new Icosahedron(i+1);
Scanner input = new Scanner(System.in);
System.out.println("Enter Edge Length: ");
double userEdge = input.nextDouble();
icos[i].setEdge(userEdge);
}
for (Icosahedron icosahedron : icos) {
System.out.println(icosahedron);
}
System.out.println("Number of Icosahedron objects created: " + icos.length);
}
}