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);
}
}