I couldn't figure out this task so I had to download the solution but I need help understanding it. First, how can the user enter both strings and numbers when the arraylist and array in the main method are only string types? Is it because the compiler takes the numbers and sets them as being of string types? Also, in the sort method, why is a nested for loop needed and how does it work? In what situations in general do we use a nested for loop? Finally, how does the code from lines 34 to 38 work in terms of swapping the positions of the array items?