I'm not sure how dumb I am or if I am missing something quite simple; anyhow, I am trying to get a basic username and password input from the user using the scanner utility.
I have made sure scanner was initialised correctly (Scanner sc = new Scanner(System.in)
System.out.print("Username or Email: ");
String username = sc.nextLine();
System.out.print("\nPassword: ");
String password = sc.nextLine();
The issue I am having is when I run this part of the code (above), the output I get looks like this (below) where I start inputting into the password section. Its as though it is just skipping over the first call to the scanner.
Username or Email: 
Password: (this is where my input goes)
My only guess is that the scanner is taking the second printing as its input but I am not sure so any help is greatly appreciated.
p.s I will leave the entire method at the bottom incase it helps.
Thanks.
public static void loginPage() throws SQLException{
    int requestCounter = 0;
    do {
        System.out.print("Username or Email: ");
        String username = sc.nextLine();
        System.out.print("\nPassword: ");
        String password = sc.nextLine();
        boolean validLoginRequest = accountLoginCheck(username, password);
        if (validLoginRequest) {
            break;
        } else {
            requestCounter++;
        }
    } while (requestCounter < 3);
    if (requestCounter == 3) {
        System.out.println("Too many attempts");
        return;
    }
    System.out.print("TO MAIN MENU");
 
    