Можете ли вы сделать массив экземпляров классов?

Можно ли сделать массив экземпляров классов?

Ниже приведен основной пример моей попытки. Сосредоточиться на методе "Генерировать".

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

}

И на всякий случай ниже приведен код для класса, который создается.

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;
    }
}

2 ответа

Решение

Порядок и объявление типа неверны

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};
Другие вопросы по тегам