Enums in Array abspeichern

Panda9296

Bekanntes Mitglied
Hi ich habe ein kleines Problem: ich habe eine Enumklasse und möchte diese in einem Array unterbekommen sozusagen als slot. Er zeigt mir nur einen Fehler an, dass es nicht so einfach geht
Code:
package de.arenakampf.miguel.java;

import javax.swing.JOptionPane;

/*
* 26.05.20
* @author Miguel Gutierrez
*/
public class Warrior {

    String name;
    int health;
    int strength;
    int skill;
    int armor[]=new int[8];//
   
   

    public Warrior(String name, int health, int strength, int skill,Armor[] armor) {
        super();
        this.name = name;
        this.health = health;
        this.strength = strength;
        this.skill = skill;
        this.armor = armor;
       
    }
   public void addArmor(Armor[]amor, int eingabe)
   {
       System.out.println("Sie sind im Rüstungsmenü. Sie haben genau 8 Slots. ##|1.Slot: Kopf|2.Slot: Schulter"
                 + "|3.Slot: Brust|4.Slot: Füße|5.Slot: Beine|6.Slot: Armschienen|7.Slot:Schwert|8. Slot:Schild|##");
       System.out.println("Rüstungsmenü Kopf: Sie haben 3 verschieden Kopfteile zur Auswahl:");
       String inputString = JOptionPane.showInputDialog("//Auswahl für Kopfteil\r\n" +
                        "System.out.println(\"1.Rüstungsteil:  +100Health|+25 Stärke|-100skill\");\r\n" +
                        "System.out.println(\"2.Rüstungsteil:  -100Health|+25 Stärke|+100skill\");\r\n" + //The stats still behind on this block
                        "System.out.println(\"3.Rüstungsteil:  -100Health|+100 Stärke|+25skill\");");
       int input = Integer.parseInt(inputString);
       switch(input)
       {
       case 1: armor[0]= Helmet.blackHelmet;break;//ok i know what to do
       }
   
   }
    public int[] getArmor() {
        return armor;
    }

    public void setArmor(int[] armor) {
        this.armor = armor;
    }

    //getter and setter
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getHealth() {
        return health;
    }

    public void setHealth(int health) {
        this.health = health;
    }

    public int getStrength() {
        return strength;
    }

    public void setStrength(int strength) {
        this.strength = strength;
    }

    public int getSkill() {
        return skill;
    }

    public void setSkill(int skill) {
        this.skill = skill;
    }
    //corefunkction
    public int damage()
    {
        return strength*skill;
    }
    public int getDamage(int damage)
    {
        return health=health-damage;
    }

}

Code:
package de.arenakampf.miguel.java;



public enum Helmet implements Armor

{

    blackHelmet("Schwarzer Helm",8,8,8),

    blueHelmet("Blauer Helm",8,8,8),

    yellowHelmet("gelber Helm",8,8,8);

  

    private String name;

    private int health;

    private int strength;

    private int skill;

  

    Helmet(String name, int health, int strength, int skill)

    {

        this.name=name;

        this.health=health;

        this.strength=strength;

        this.skill=skill;

    }



    @Override

    public String getName(String name)

    {

        return name;

    }



    @Override

    public int getHealth(int health)

    {

        return health;

    }

    @Override

    public int getStrength(int strength)

    {

        return strength;

    }

    @Override

    public int getSkill(int skill)

    {

        return skill;

    }



  



}


Code:
package de.arenakampf.miguel.java;

public interface Armor {

    String name="";
    int health=0;
    int strength=0;
    int skill=0;
   
    public String getName(String name);
    public int getHealth(int health);
    public int getStrength(int strength);
    public int getSkill(int skill);
   
   
}
 
Ich habe den Fehler gefunden. Ich sitze an der Aufgabe seit heute morgen also hoffe ich, der Fehler sei verziehen. Für euch die es nachvollziehen wollen, ich habe den Fehler gefunden, als ich im Forum nochmal über meinen Code geschaut habe... das Array sollte vom Typ Armor sein damit man da ein Objekt vom Typ Armor speichern kann.
 

Zurück
Oben