从字符串数组中命名新对象

时间:2016-12-05 20:42:15

标签: java

非常新的java并试图为学校完成一个项目,所以任何帮助将不胜感激!我试图创建一个类的新对象,并使用数组中的字符串命名它们。我知道这是一种奇怪的方式,但要获得某些标记,你必须展示你的程序是这样扩展的..... sooooo 粒子是另一个类

public class test1v1 {

public static void main(String[] args) {

    double[] iValue = { 1, 2, 0 };
    double[] jValue = { 1, 2, 0 };
    String[] name = { "earth", "moon", "sun" };

    Particle [name[1]] = new Particle(iValue[1],jValue[1]);

所以我想做一个循环并制作三个新的物体,称为地球,月亮和太阳。任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:0)

您无法完全按照自己的意愿行事,但您可以创建Map以达到类似的效果。

double[] iValue = { 1, 2, 0 };
double[] jValue = { 1, 2, 0 };
String[] name = { "earth", "moon", "sun" };
Map<String, Particle> heavenlyBodies = new HashMap<>();

for (int i = 0; i < name.length; i++) {
    heavenlyBodies.put(name[i], new Particle(iValue[i], jValue[i]));
}

如果需要,可以按照以下方式回收这些颗粒

Particle earth = heavenlyBodies.get("earth");

请参阅Map<K, V>的文档:https://docs.oracle.com/javase/7/docs/api/java/util/Map.html

答案 1 :(得分:0)

要添加到CollinD的答案,这里的问题是你不能采取文字价值,(例如&#34;地球&#34;,&#34;月亮&#34;和&#34; sun& #34;)存储在程序的编译代码中,以便在程序中用于程序,作为变量的名称,这些变量只是源代码中的关键字,它为变量赋予了有意义的名称让你更容易理解你的代码。

使用map可以创建一种在运行时存储命名变量的方法。