需要帮助解决java中的输入问题

时间:2018-04-22 20:01:58

标签: java variables input

我的任务:

创建一个名为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()我做错了什么?或者我可能理解错误的问题?任何指导都将不胜感激。

感谢。

1 个答案:

答案 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);
    }

}