0
Java course loan calculation not running
Hello guys I have tried by adding int and double of the variable type for loan calculation exercise in java course. Test case passing but not making tick ark. And it shows my programme is not success.i have add int for programme but and is adding by 1. Finally I convert it to double and cast the resulting intro zeiling value is rounded up import java.util.Scanner; public class Program { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double amount = scanner.nextDouble(); double amount1 =0; for(int i=1;i<7;i++){ amount1 = (amount *10)/100; amount =amount -amount1; } System.out.println((int)amount); } }
18 Réponses
+ 4
Ok,by my opinion for this the problem coming is in the implicit conversion of int and double in your code .Try to get your inputs in int type and calculate by double than you can change the final amount in int and display the results.
Try using my code :
import java.util.Scanner;
public class Program
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
double ra;
//your code goes here
for(int i=0;i<6;i++)
{
double x=(10.0*a)/100.0;
ra=a-x;
a=(int)ra;
}
System.out.println(a);
}
This works fine enough to get all the tests correct.
+ 4
Use 90% for 6 months to find the balance.
4 lines of code added.
https://code.sololearn.com/cp6GXE4Rc84v/?ref=app
If you are paying 10% every month, one way is to find the 10% and then use your total minus the 10% paid to get the balance.
The other way, is to find the 90% so you don't have to minus.
If you have 100 and you paid 10%,
Method 1: 100 - (100 * 10%) = 90
Method 2: 100 * 90% = 90
The "i=0" is used for looping. It will loop from 0 until 5 (< 6), which is 6 times.
Finally prints out amount.
+ 3
If you 0bserve the sample, then it says need to round up the amount1..
Edit : I mean on amount1, not on amount. Gayan Suranga
You need
amount = amount - Math.ceil(amount1) ;
+ 2
Gayan Suranga casting to int causes truncation of the decimal. It actually lowers the value to the floor. To round it up to the ceiling value you should use Math.ceil().
+ 2
Please see my new update import java.util.Scanner;
public class Program
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double amount = scanner.nextDouble();
double amount1 =0;
for(int i=1;i<7;i++){
amount1 = (amount *10)/100;
amount =(int)amount -(Math.ceil(amount1));
}
System.out.println(amount);
}
}
Result comes with one d3 imal value but test are showing g not pass
+ 1
I found that the test cases are flawed. If you use a proper interest calculation some of the tests fail. They are looking for a summation of the monthly *ceiling* values.
+ 1
Have anyone finished answering it?please check my code.
https://code.sololearn.com/ckbyObI2Ilz3/?ref=app
+ 1
Danziel Cempron see my code
import java.util.Scanner;
public class Program
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double amount = scanner.nextDouble();
double amount1 =0;
for(int i=1;i<7;i++){
amount1 = (Math.ceil(amount *10/100));
amount =(int)amount-amount1;
}
System.out.println((int)amount);
}
}
this is working fine
+ 1
Danziel Cempron see your line number 10 is wrong just check the calculation it has to be
int amount1 = (Math.ceil(amount *10/100));
+ 1
Gayan Suranga Math class is like far away from the loan calculator. So you have to finish the math class first before answering the probem? It should be indicated there that you have to use math class cause its like many lessons away from there.
+ 1
100 000 * 10 / 100 = 10 000
100 000 / 10 = 10 000
The same amount
+ 1
The (int)amount makes no sense inside a for loop
+ 1
And you also have to learn typecasting which is like in second to the last lesson
+ 1
Check my code it's more simplified
https://code.sololearn.com/ckbyObI2Ilz3/?ref=app
+ 1
Dear all I have done this and corrected what I have missed. Thank for all your support
+ 1
Hi everyone,
Here there is my code, it works.
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
double res= amount;
int y= 6;
int i=0;
for( i=0; i<y; i++) {
res= res- (Math.ceil(res*10/100));
}
System.out.println((int)res);
}
}
0
thants why i jave cast double into int
0
Brian i have done different way no solution could you plz tell me the code that i have shared instead of