0

For some reason the output is a value larger than it should print as

This code wants me to print a certain owed loan value from the Loan Value module, but it print the value+1 instead if the actual value... import java.util.Scanner; public class Program { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int amount = scanner.nextInt(); //your code goes here int owed=0; for(int i=1;i<=6;i++) { int percentage=amount/10; owed=amount-percentage; amount=amount-percentage; } System.out.println(owed); } }

17th Jan 2021, 4:20 PM
Serana Zentha
Serana Zentha - avatar
4 Réponses
+ 1
Name it wont work since i is only used for the month loop not the values
17th Jan 2021, 4:30 PM
Serana Zentha
Serana Zentha - avatar
+ 1
Serana Zentha https://code.sololearn.com/cp6GXE4Rc84v/?ref=app The reason why you get 10629 is because of Integer division. It ignores decimals (rounding down). Ultimately when you do a minus, you get an extra 1. 1: 20000 - 20000/10 = 18000 2: 18000 - 18000/10 = 16200 3: 16200 - 16200/10 = 14580 4: 14580 - 14580/10 = 13122 5: 13122 - 13122/10 = 13122 - 1312 (missing precision) = 11810 (extra 1, expected 11809) 6: 11810 - 11810/10 = 10629 To bypass, you can do "amount = amount * 90 / 100". Do not hard-code -1 or +1. One good example will be 0. After 6 months, it will still be 0. By hard-coding -1, it results in -1 which is wrong.
28th Jan 2021, 1:38 AM
Lam Wei Li
Lam Wei Li - avatar
0
Can you please show input formation... I mean example? Little more details.
17th Jan 2021, 4:32 PM
Name
Name - avatar
0
Name Here is the monthly payment schedule: If theoretically 20000 is our starting input we should by month 6 get the stated remaining value, but it prints that value+1. Instead of 10628 it prints 10629 Month 1 Payment: 10% of 20000 = 2000 Remaining amount: 18000 Month 2 Payment: 10% of 18000 = 1800 Remaining amount: 16200 Month 3: Payment: 10% of 16200 = 1620 Remaining amount: 14580 Month 4: Payment: 10% of 14580 = 1458 Remaining amount: 13122 Month 5: Payment: 10% of 13122 = 1313 Remaining amount: 11809 Month 6: Payment: 10% of 11809 = 1181 Remaining amount: 10628
17th Jan 2021, 4:34 PM
Serana Zentha
Serana Zentha - avatar