Bonus Score 70/100 Java
Здравейте, моля за малко помощ. Не мога да разбера, защо ми принтва различен резултат, 70/100, ето условието:
Дадено е цяло число – начален брой точки. Върху него се начисляват бонус точки по правилата, описани по-долу. Да се напише програма, която пресмята бонус точките, които получава числото и общия брой точки (числото + бонуса).
-
Ако числото е до 100 включително, бонус точките са 5.
-
Ако числото е по-голямо от 100, бонус точките са 20% от числото.
-
Ако числото е по-голямо от 1000, бонус точките са 10% от числото.
-
Допълнителни бонус точки (начисляват се отделно от предходните):
-
За четно число + 1 т.
-
За число, което завършва на 5 + 2 т.
-
Примери:
вход |
изход |
|
вход |
изход |
|
вход |
изход |
|
вход |
изход |
20 |
6 26 |
175 |
37 212 |
2703 |
270.3 2973.3 |
15875 |
1589.5 17464.5 |
и решението ми
import java.util.Scanner; public class BonusScore { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int number = Integer.parseInt(scanner.nextLine()); /*Създайте си нова променлива от тип double, в която ще си изчислявате натрупаните бонус точки, като и дадете начална стойност 0.*/ double bonus = 0; /*Направете if-else-if конструкция за първите три проверки, за да проверите големината числото и да изчислите бонуса. Ако числото е до 100 включително, бонус точките са 5*/ if (number <= 100) { bonus = 5; } else if (number > 1000){ bonus = number * 0.1; } else { bonus = number * 0.2; } if (number % 2 == 0) { bonus = bonus + 1; } else if (number % 2 == 5) { bonus = bonus + 2; } System.out.println(bonus); System.out.println(number + bonus); } }