New to Java Programming - Text Based RPG

I just started taking a Java Programming Class at my school, and am definitely not the strongest programming. I’m trying to lay out the ground work for a VERY basic, and linear, text based rpg. I got stuck when I got to the battle sequences… I can’t get the code to produce what I want it too, and am looking for some advice/tips on this stuff. When I type “1” as my answer to attack, nothing happens but the program keeps running. I want to damage the goblin. Thanks!

package videogameenemy;
import java.util.Scanner; 
public class VideoGameEnemy {
	
	public static void main(String[] args)
	{
		Scanner input = new Scanner(System.in);
		int answer = 0;
		
		boolean enemyAlive;
		boolean playerAlive;
		
		Enemy Goblin = new Enemy();
		Goblin.setName("Goblin");
		Goblin.setHp(100);
		Enemy Wolf = new Enemy();
		Wolf.setName("Wolf");
		Wolf.setHp(80);
		
		Player user = new Player();
		user.setDamage(15);
		user.setHp(150);
		
		
		Enemy[] enemies = new Enemy[2];
		enemies[1] = new Enemy();
		enemies[1] = Goblin; 
		enemies[1].getHp();
		enemies[0] = new Enemy();
		enemies[0] = Wolf;
		enemies[0].getHp();
	
		
		
		
		
		
		System.out.println("A " + enemies[1].getName() + " has appeared!");
		
		System.out.println(enemies[1].getName() +  " has " + enemies[1].getHp() + " HP remaining.");
		System.out.println("Will you attack the " + enemies[1].getName() + "?");
		System.out.println("Enter 1 to attack, or 2 to flee!");
		System.out.println("\t[1 - Attack]");
		System.out.println("\t[2 - Flee]");
		
		answer = input.nextInt();
		
		if(answer == 1)
		{
			
		while(enemies[1].getHp() > 0)
		{
			enemyAlive = true;
			playerAlive = true;
			int d;
			d = enemies[1].getHp() - user.getDamage();
			
			if (enemyAlive = false || playerAlive == false)
			{
				break;
			}
		}
		}
		else if (answer == 2)
		{
			System.out.println("You run and fall.");
		
		}
		
	}
}






/////////
class Enemy
{
	private String name;
	private int Hp;
	
	public Enemy()
	// A Enemy is created with name set to an empty string
	{
		
	}
	
	public Enemy(String name, int Hp)
	{
		name = "";
		Hp = 0;
	}
	
	
	
	public void setName(String newName)
	// Pre:  Assigned(name)
	// Post: class member name has been set to name
	{
		name = newName;
	}
	
	
	public String getName()
	// Post: Returns the name
	{
		return name;
	}
	
	public void setHp(int newHp)
	// Pre:  Assigned(hp amount)
	// Post: class member hp has been set to newHp
	{
		Hp = newHp;
	}
	
	public int getHp()
	{
		return Hp;
	}
	

	
	
}

class Player extends Enemy
{
	private int damage;
	private int hp;
	
	public Player()
	// Default constructor
	{
		damage = 0;
		hp = 0;
		
	}
	
	public void setDamage(int newDamage)
	{
		damage = newDamage;
	}
	
	public int getDamage()
	{
		return damage;
	}
	
	public void setHp(int newHp)
	{
		hp = newHp;	
	}
	
	
	public int getHp()
	{
		return hp;
	}
	
}