Does anyone solve the error? | Sololearn: Learn to code for FREE!

0

Does anyone solve the error?

https://code.sololearn.com/cr8TvLGq4jyO/?ref=app

8/16/2022 1:13:51 PM

Avi Jit

11 Answers

New Answer

+1

I tried removing show function and added print statement in calcFee function, called calcFee instead of show, it seems to work https://code.sololearn.com/cL9dW42bgj5z/?ref=app

+3

Variable declared within a method will have local scope to method. And does not exist outside of that method. So declare those outside method, class level scope if you access it outside too. => about tutionFee, amount variables.. Yes. Another, Error: calcStipend() vs clacStipend()

+2

Hi, the error thrown is a syntax error. The spelling of the method you have defined and used are different. You have defined clacStipend method but have invoked calcStipend. Please fix the typo and try executing.

+1

Hi! have you written this code yourself or copied it?

+1

Jayakrishna🇮🇳 is it okay now? But Still getting 0.0 in output interface BasicExp{ double hostelFee=5000.00, examFee=1200; void calcFee(); } class Stipend{ double totalStipend; double tutionFee=75000; int cgpa; void clacStipend(int cgpa){ if(cgpa<7){ totalStipend=tutionFee*0.25; System.out.println("Exc1"); } else{ totalStipend =tutionFee*0.40; } } } class TotalFee extends Stipend implements BasicExp{ double amount; public void calcFee(){ amount =(hostelFee+examFee+tutionFee)-totalStipend; } void show(){ System.out.println(amount); } } class Output{ public static void main(String args[]){ TotalFee tf=new TotalFee(); tf.clacStipend(7); tf.show(); } }

+1

Avi Jit In your code, tf.calcFee() ; // call this before tf.show() ; // no need int cpga; outside method.

+1

Updated the code, i didnt realize that the amount is defined both as local variable and class variable. So when local variable amount was updated in calcFee function it didnt reflect, corrected it. https://code.sololearn.com/cL9dW42bgj5z/?ref=app

+1

Thank you guys! it was a great quest of bug hunting 😁 https://code.sololearn.com/cr8TvLGq4jyO/?ref=app

0

Prathyusha Muppidi I have corrected the typos but but getting 0.0 in output. Somehow I think "cgpa" value is not passing. Here is the code: interface BasicExp{ double hostelFee=5000.00, examFee=1200; void calcFee(); } class Stipend{ double totalStipend; double tutionFee=75000; int cgpa; void clacStipend(int cgpa){ if(cgpa<7){ totalStipend=tutionFee*0.25; System.out.println("Exc1"); } else{ totalStipend =tutionFee*0.40; } } } class TotalFee extends Stipend implements BasicExp{ double amount; public void calcFee(){ amount =(hostelFee+examFee+tutionFee)-totalStipend; } void show(){ System.out.println(amount); } } class Output{ public static void main(String args[]){ TotalFee tf=new TotalFee(); tf.clacStipend(7); tf.show(); } }

0

Prathyusha Muppidi Amazing it works! But if try my method, how to get access the value of "amount" under the method "show()" ?

0

Prathyusha Muppidi just now, I got the bug actually in my code, I am never using the method "calcFee" to compute the "amount" that is how it's showing the default double value 0.0. See here this working now: interface BasicExp{ double hostelFee=5000.00, examFee=1200; void calcFee(); } class Stipend{ double totalStipend; double tutionFee=75000; int cgpa; void clacStipend(int cgpa){ if(cgpa<7){ totalStipend=tutionFee*0.25; System.out.println("Exc1"); } else{ totalStipend =tutionFee*0.40; } } } class TotalFee extends Stipend implements BasicExp{ double amount; public void calcFee(){ amount =(hostelFee+examFee+tutionFee)-totalStipend; } void show(){ System.out.println(amount); } } class Output2{ public static void main(String args[]){ TotalFee tf=new TotalFee(); tf.clacStipend(7); tf.calcFee(); tf.show(); } }