First Code, But I Feel It Is So Ugly, Can You Explain Why?
it is a bit hard to compare it with "standard code" if you only worked through first two chapters ;)

You should consider three principles in the following order:


The code should work
The code should be readable
The code should be extendable


Only the 1st is proofable. But maybe not that easy as one might think. Consider edge cases and errors. It takes some experience to know them. But usually something like 


Boundary values - e.g. 0 for a lower boundary
Wrong format of parameter e.g. 0,5 instead of 0.5 (for english local)
Input is out of allowed boundary


There are a lot of ways to handle them, like to ask for a new value or to simply abort.

If your code is readable is matter of taste. I prefer short code blocks in methods that are named. Also repeated code should be avoided. 
That said here is my first concrete suggestion for you: There are common code blocks where you ask the user for a value (System.out.print(...)) and then read the value (sc.nextDouble()). You could combine them to a method, like

private static double askForDouble(String label, Scanner scanner){
    System.out.print(label);
    return scanner.nextDouble();
}


which you can use then instead of every occurance:

System.out.print("Days: ");
double day = sc.nextDouble();


becomes

double day = askForDouble("Days: ", sc);


I would also put every calculation in separate functions although that would not give any benefit at the moment. But later you could write unit tests.

There are more possible improvements, but you should go on with the tutorials to learn about them.