Question
I have example of salary = 2000 and I want to increase the salary by a bonus of 50%, resulting in a salary of 3000.
So like:
salary = salary 50% of the salary
Attempt
I tried implementing it like this:
int salary = 2000;
salary = salary 50 % salary;
System.out.println(salary);
but I got 2050 as result, not 3000. What am I doing wrong?
CodePudding user response:
You'd multiply
int salary = 2000;
salary = (int) (1.5 * salary);
Note that this is only correct for even integers.
You shouldn't use ints, floats, or doubles for currency types
CodePudding user response:
Try the following:
int salary = 2000;
double finalSalary = salary 0.5*salary;
System.out.println(finalSalary);
or
int salary = 2000;
double finalSalary = salary * 1.5;
System.out.println(finalSalary);
CodePudding user response:
50 % salary
means "the remainder of dividing 50 by salary", because % is the remainder operator. Since 50 < salary, the value of that expression is just 50.
50% of salary is given by salary / 2. So you can write:
salary = salary (salary / 2);
// or
salary = salary / 2;
// or
salary = salary * 3 / 2;
// etc.
