title: Constructor is not defined, but it is?
body: <p>I'm trying to make a game for a project in  university (freshman year), that runs in console, in a language that I am kind of self taught in since it's the one I know the best, but I'm running into a lot of problems, since I'm very new, so sorry if the question is obvious/bad.</p>
  
  <p>Basically how it is supposed to work is a player will get a choice to choose a school of magic and then three spells from that school (type) of magic will be added, and the player needs to choose 3 schools which will then be assigned to their 1-9 keys. The game is turn based and I thought it out in advance, but when I try to create the Spell objects I get the error <code>The constructor Spell (String, int, int, String, String, String) is undefined</code> and <code>the value of (insert whatever spell name here) is not used.</code>. Now the second is true, but it shouldn't make the program unrunnable, since it will be used later, but I don't get why the first one is showing up when I made that constructor, sorry if the question is a bit messy again, here's the code.</p>
  
  <pre><code>public class Spell {
  int damage;
  int absorb;
  String type;
  String priority;
  String name;
  
  
  public Spell(String name, int damage, int absorb, String type, String priority, String direction){
      System.out.println("\nYou learned: " + this.name);
  }
  }
  </code></pre>
  
  <p>And the player class is :</p>
  
  <pre><code>public class Player {
  int hp = 100;
  String type1,type2,type3;
  
  public void Types() {
      Scanner scan = new Scanner(System.in);          //lets both players choose their three spell types
      int i = 0;
      System.out.println("Choose your first element : \n 1.Frost\t\t2.Lighting\t\t3.Earth\n 4.Fire\t\t5.Water\t\t6.Wood\n 7.Wind\t\t8.Runes\t\t9.Chaos ");
      while (i &gt; 3){
          if (i == 1 || i == 2){
              System.out.println("Choose your next element : \n 1.Frost\t\t2.Lighting\t\t3.Earth\n 4.Fire\t\t5.Water\t\t6.Wood\n 7.Wind\t\t8.Runes\t\t9.Chaos ");
          }
          int pick = scan.nextInt();                  //i increases every time the player picks a type, type is stored to the position and will be assigned
                                                      // controls based on what position the type is in (type1 - 1,2,3; type 2 - 4,5,6 etc)
          if (pick == 1){                             // for every CHOOSEN type it creates three objects from the spell class
              Spell frostBolt = new Spell("Frost bolt", 20, 0, "Frost", "Attack", "Projectile");
              Spell coneOfCold = new Spell ("Cone of Cold", 5, 0, "Frost", "Defense", "Cone");
              Spell icedEarth = new Spell("Iced Earth", 0, 0, "Frost", "Field", "Ground");
  
              if (i == 0){
                  type1 = "frost";
              }
              else if (i == 1){
                  type2 = "forst";
              }
              else{
                  type3 = "frost";
              }
              i++;
          }
          else if (pick == 2){
              Spell thunder = new Spell("Thunder", 15, 0, "Lightning", "Attack", "Overhead");
              Spell staticField = new Spell ("Static Field", 5, 0, "Lightning", "Field", "Air");
              Spell absortionBlast = new Spell("Absortion Blast", 0, 100, "Lightning", "Defense", "Self");
  
              if (i == 0){
                  type1 = "lightning";
              }
              else if (i == 1){
                  type2 = "lightning";
              }
              else{
                  type3 = "lightning";
              }
              i++;
          }
  </code></pre>
  
  <p>etc.</p>
  
  <p>Is there something OOP related that I'm doing wrong, I really can't figure it out, been bashing my head against it for a few hours already, thanks in advance! </p>