gpt4 book ai didi

java - 是否有一种更简洁的方法来实例化 5 个对象 A、3 个对象 B、1 个对象 C、1 个对象 D,所有这些都在一个方法中?

转载 作者:行者123 更新时间:2023-12-02 03:23:24 26 4
gpt4 key购买 nike

我目前正在 Hyperskills.org 上研究对象模块。编码挑战之一是创建五个单位、三个骑士、一个将军、一个博士。我们获得了每个对象的类定义,并且每个对象都有一个设置一个 String 字段的构造函数。

我接受了提示,只是按照要求实例化了 X 级的 X 号。

public static void createArmy(){
Unit unit1 = new Unit("U1");
Unit unit2 = new Unit("U2");
Unit unit3 = new Unit("U3");
Unit unit4 = new Unit("U4");
Unit unit5 = new Unit("U5");

Knight knight1 = new Knight("K1");
Knight knight2 = new Knight("K2");
Knight knight3 = new Knight("K3");

General general1 = new General("G1");

Doctor doctor1 = new Doctor("D1");
}

编译器接受了我的答案,但它说:“正确,但可以改进。”

请并谢谢您:这段代码还可以如何改进?

最佳答案

您可以通过将单元和内容放入数组并使用 for 循环来改进它。另外添加一些参数将使以后调用此函数更容易。例如:

public static void createArmy(int units, int knights, int generals, int doctors){
Unit unit = new Unit[units];
Knight knight = new Knights[knights];
General general = new Generals[generals];
Doctor doctor = new Doctors[doctors];
for(int x = 0; x < units;x++){
unit[x] = new Unit("U"+(x+1));
}
for(int x = 0; x < knights;x++){
knight[x] = new Knight("K"+(x+1));
}
for(int x = 0; x < generals;x++){
general[x] = new General("G"+(x+1));
}
for(int x = 0; x < doctors;x++){
doctor[x] = new Doctor("D"+(x+1));
}
}

关于java - 是否有一种更简洁的方法来实例化 5 个对象 A、3 个对象 B、1 个对象 C、1 个对象 D,所有这些都在一个方法中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56917276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com