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

Java 从字符串数组命名新对象,java,Java,非常新的java,并试图为学校完成一个项目,因此任何帮助都将不胜感激!我试图创建一个类的新对象,并使用数组中的字符串命名它们。我知道这是一种奇怪的方式,但要获得一定的分数,你必须证明你的程序是可以用这种方式扩展的….soooo 粒子是另一类 public class test1v1 { public static void main(String[] args) { double[] iValue = { 1, 2, 0 }; double[] jValue = { 1, 2

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

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]);

所以我想做一个循环,制造三个新的物体,叫做地球,月亮和太阳。任何帮助都将不胜感激

你不能完全按照你的意愿来做,但是你可以创建一个
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]));
}

参见文档中的
Map

要添加到CollinD的答案中,这里的问题是您不能获取存储在程序编译代码中的文字值(例如“地球”、“月亮”和“太阳”),以便在运行时用于程序,作为变量的名称,这些名称只是源代码中的关键字,为变量提供了一个有意义的名称,以便于理解代码


映射的使用允许您创建一种在运行时存储命名变量的方法。

我建议为此使用
map
。(
Map
相反)你不能这么做。@CollinD A
Map
,你是说?
Particle earth = heavenlyBodies.get("earth");