I'm new to Java and still confused on how the scanner next methods actually work. I have an example program right here:
import java.util.Scanner;
public class HelloJava{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int varInt;
        String varString;
        String varStringTwo;
        System.out.print("Insert int value: ");
        varInt = sc.nextInt();
        System.out.print("Insert string value: ");
        varString = sc.nextLine();
        System.out.print("Insert another string value: ");
        varStringTwo = sc.nextLine();
        sc.close();
    }
}
When i executed the program and entered an integer on the first prompt, the terminal looked like this:
Insert int value: 15
Insert string value: Insert another string value: // i can input any value here //
//                  ^ but the program doesn't allow me to input anything here
I know that one of the solution is to put "sc.nextLine();" between varInt = "sc.nextInt();" and "System.out.print("Insert a string value: ");", but I don't understand why or how.
 
    