Keep getting "error CS0116: A namespace can only contain types and namespace declarations"

Im very new to Unity so when "error CS0116: A namespace can only contain types and namespace declarations
" keeps coming up I have no clue what to do. I checked the My scripts and they say there are no errors. so perhaps You could help?

(If I’m writing the question wrong I apologize.)

SCRIPT

using UnityEngine;

/// 
/// Player controller and behavior
/// 
public class PlayerScript : MonoBehaviour
{
	/// <summary>
	/// 1 - The speed of the ship
	/// </summary>
	public Vector2 speed = new Vector2(50, 50);
	
	// 2 - Store the movement
	private Vector2 movement;
	
	void Update()
	{
		// 3 - Retrieve axis information
		float inputX = Input.GetAxis("Horizontal");
		float inputY = Input.GetAxis("Vertical");
		
		// 4 - Movement per direction
		movement = new Vector2(
			speed.x * inputX,
			speed.y * inputY);
		
	}
	
	void FixedUpdate()
	{
		// 5 - Move the game object
		GetComponent<Rigidbody2D>().velocity = movement;
	}

}

void Update()
{
	// ...
	
	// 5 - Shooting
	bool shoot = Input.GetButtonDown("Fire1");
	shoot |= Input.GetButtonDown("Fire2");
	// Careful: For Mac users, ctrl + arrow is a bad idea
	
	if (shoot)
	{
		WeaponScript weapon = GetComponent<WeaponScript>();
		if (weapon != null)
		{
			// false because the player is not an enemy
			weapon.Attack(false);
		}
	}
	
	// ...
}

@AndrewHester You’re second Update function is outside of your class. A lot of the time when an error like that pops up, it means that you put a bracket in the wrong place. Just double check that your brackets are properly closed up in a case like this.

Also, I’m not really sure why you have two Update() methods?