Calculate total water drunk in a day
Check your if expression in review part:


if (note &lt;= 4 || note &gt;= 1) {
    System.out.println("Thanks for your review.");
}else {
    System.out.println("That's better, we'll do our best the next time");
}



This will always print "Thanks for your review" since whatever the value of note will be always true either for &lt;= 4 or &gt;= 1.

Using an IDE (for example IntelliJ, netbeans, eclipse) helps you mitigate this kind of problems, but it's still better to always review your code.





Confusing result and advise:

I'm not sure if the application is happy that I drank enough water or sad because I only drank 1 bottle. 

As stated in your question:


  The objective is to calculate the amount of water one has drunk in a
  day. Depending on the user's input, the app tells him or her if the
  amount of water drunk is great or not.


Then I think you don't need to tell them how many bottles they drink or at least remove the sad face to avoid confusion.





User input problems:

Case 1: What if the user input a letter instead of number? This will happen:



Case 2: What if the user input a negative number? Then this will happen:



As you can see in case 1, this will break your program. Although in case 2 the program will not crash, I think it's impossible to drink negative amount of water.

To solve this kind of issue, you can use try/catch expression. Something like this:

double litre = 0;
boolean isInvalidInput = false;
do {
    try {
        System.out.print("Amount of water your bottle can hold: ");
        // entering amount of water bottle can hold
        litre = sc.nextDouble();
        isInvalidInput = false;
    } catch (InputMismatchException e) {
        isInvalidInput = true;
    }
    sc.nextLine();
} while(isInvalidInput || litre &lt; 0);


If you use the code above, this will be the output:



As you can see, the program will ask the same question repeatedly until the user enters a correct input