Hotel Room - Дава ми 80/100, без пояснения къде греша.
package vlojeniuslovnikonstrukci; import java.util.Scanner; public class CLASS10hotelroom { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String m = scanner.nextLine(); double n = Double.parseDouble(scanner.nextLine()); if (n>7 && n<=14 && m.equals("May")||(m.equals("October"))){ System.out.printf("Apartment: %.2f lv.%n", n * 65); System.out.printf("Studio: %.2f lv.", n *(50 - 50 * 0.05)); }else if (n>14 && m.equals("May")||(m.equals("October"))){ System.out.printf("Apartment: %.2f lv.%n", n * (65 - 65 * 0.10)); System.out.printf("Studio: %.2f lv.", n * (50 - 50 * 0.30)); }else if(n>14 && m.equals("June") || m.equals("September")){ System.out.printf("Apartment: %.2f lv.%n", n * (68.7-68.7 * 0.10)); System.out.printf("Studio: %.2f lv.", n * (75.2 - 75.2 * 0.20)); }else if(n>14 && m.equals("July")||m.equals("August")){ System.out.printf("Apartment: %.2f lv.%n", n * (77-77 * 0.10)); System.out.printf("Studio: %.2f lv.", n * 76); }else if (m.equals("May") || m.equals("October")){ System.out.printf("Apartment: %.2f lv.%n", n * 65); System.out.printf("Studio: %.2f lv.", n * 50.00); }else if (m.equals("June") || m.equals("September")){ System.out.printf("Apartment: %.2f lv.%n", n * 68.70); System.out.printf("Studio: %.2f lv.", n * 75.20); }else if(m.equals("July") || m.equals("August")){ System.out.printf("Apartment: %.2f lv.%n", n * 77.00); System.out.printf("Studio: %.2f lv." , n * 76.00); } } }
Благодаря, получи се. Никога нямаше да се сетя, защото на лекцията казаха, че когато има (&&), то винаги е с преоритет пред (или).
Ако трябва да съм честен, не съм на 100% сигурен. Мисля, че са с равен приоритет и се "четат" от ляво на дясно.
Вече ще знам, но съм сигурен, че на лекцията казаха така. Малко претрупана стана тази задача, има и по кратко решение с по малко писане ама..