你能制作一个 class 个实例的数组吗?
Can you make an array of class instances?
是否可以创建一个包含 class 个实例的数组?
下面是我尝试的一个基本示例。关注方法 "Generate".
import java.util.Scanner;
public class Main {
public static Scanner Scan = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("What is your name?");
String name = Scan.nextLine();
Player player1 = new Player(name);
player1.getStats();
}
public static void generate() {
String[] weaponShopInv = {rustySword, ironSword, sharpSword}
Weapon rustySword = new Weapon("Rusty Sword","Melee","Short Sword", 5, 30);
Weapon ironSword = new Weapon("Iron Sword","Melee","Short Sword", 10, 100);
Weapon sharpIronSword = new Weapon("Sharp Iron Sword","Melee","Short Sword", 15, 250);
}
}
为了以防万一,下面是正在实例化的 class 的代码。
public class Weapon {
String name;
String type;
String style;
int damage;
int price;
public Weapon(String e, String a, String b, int c, int d) {
type = a;
style = b;
damage = c;
price = d;
name = e;
}
}
初始化自定义数组就像初始化原始类型数组一样。你在这里几乎是正确的,只有两个错误。首先,您不能在数组 初始化之前 添加对象。其次,你必须将它们存储在武器数组中,而不是字符串数组中:
Weapon rustySword = new Weapon("Rusty Sword","Melee","Short Sword", 5, 30);
Weapon ironSword = new Weapon("Iron Sword","Melee","Short Sword", 10, 100);
Weapon sharpIronSword = new Weapon("Sharp Iron Sword","Melee","Short Sword", 15, 250);
Weapon[] weaponShopInv = {rustySword, ironSword, sharpSword};
顺序和类型声明不正确
Weapon rustySword = new Weapon("Rusty Sword","Melee","Short Sword", 5, 30);
Weapon ironSword = new Weapon("Iron Sword","Melee","Short Sword", 10, 100);
Weapon sharpIronSword = new Weapon("Sharp Iron Sword","Melee","Short Sword", 15, 250);
Weapon[] weaponShopInv = {rustySword, ironSword, sharpSword}
是否可以创建一个包含 class 个实例的数组?
下面是我尝试的一个基本示例。关注方法 "Generate".
import java.util.Scanner;
public class Main {
public static Scanner Scan = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("What is your name?");
String name = Scan.nextLine();
Player player1 = new Player(name);
player1.getStats();
}
public static void generate() {
String[] weaponShopInv = {rustySword, ironSword, sharpSword}
Weapon rustySword = new Weapon("Rusty Sword","Melee","Short Sword", 5, 30);
Weapon ironSword = new Weapon("Iron Sword","Melee","Short Sword", 10, 100);
Weapon sharpIronSword = new Weapon("Sharp Iron Sword","Melee","Short Sword", 15, 250);
}
}
为了以防万一,下面是正在实例化的 class 的代码。
public class Weapon {
String name;
String type;
String style;
int damage;
int price;
public Weapon(String e, String a, String b, int c, int d) {
type = a;
style = b;
damage = c;
price = d;
name = e;
}
}
初始化自定义数组就像初始化原始类型数组一样。你在这里几乎是正确的,只有两个错误。首先,您不能在数组 初始化之前 添加对象。其次,你必须将它们存储在武器数组中,而不是字符串数组中:
Weapon rustySword = new Weapon("Rusty Sword","Melee","Short Sword", 5, 30);
Weapon ironSword = new Weapon("Iron Sword","Melee","Short Sword", 10, 100);
Weapon sharpIronSword = new Weapon("Sharp Iron Sword","Melee","Short Sword", 15, 250);
Weapon[] weaponShopInv = {rustySword, ironSword, sharpSword};
顺序和类型声明不正确
Weapon rustySword = new Weapon("Rusty Sword","Melee","Short Sword", 5, 30);
Weapon ironSword = new Weapon("Iron Sword","Melee","Short Sword", 10, 100);
Weapon sharpIronSword = new Weapon("Sharp Iron Sword","Melee","Short Sword", 15, 250);
Weapon[] weaponShopInv = {rustySword, ironSword, sharpSword}