Forums Register Login

Logic Errors

+Pie Number of slices to send: Send
How frustrating are logic errors? The program compiles, but does not spit out the expected answers. I'm working on a simple payroll calculator for a Java class I'm taking, and instead of getting the numbers I'm expecting, I'm getting all zero's. We're covering if and switch statements right now, so that's what this project centers around. The output for grossPay and netPay are 0.0 and 0.0. Other than that everything works. I'm assuming my problem is in the if statements. Can anyone spot the logic errors?

Also, in the default constructor, how do I set the char to a default value, similiar to a null string?

Here's the class:


And here's the driver:
+Pie Number of slices to send: Send
A big hint: put a line like

System.out.println("In grossPay")

in the private grossPay() method, and then run your program again.
+Pie Number of slices to send: Send
If you want a "null" for a char, try '\u0000'.
+Pie Number of slices to send: Send
 

Originally posted by Ernest Friedman-Hill:
A big hint: put a line like

System.out.println("In grossPay")

in the private grossPay() method, and then run your program again.



By doing that I realized I'm not calling the grossPay() and netPay() methods. In the project requirements it says the methods need to be private (this may be a typo, I'll ask).

I changed the methods to public and had the driver call them and it spits out computed numbers. But if they do have to be private is there any way to call those methods from the driver?
+Pie Number of slices to send: Send
 

Originally posted by Greg Roberts:
But if they do have to be private is there any way to call those methods from the driver?

Not from another class, no. Can you think of any methods in Employee from which you can call those methods that would make sense?
+Pie Number of slices to send: Send
Okay, I made some changes and I figured out how to use them while still keeping them private. Here are the changes I made to the display() method:



I also changed the grossPay() and netPay() so they return a double, instead of them being void methods.
[ March 07, 2005: Message edited by: Greg Roberts ]
+Pie Number of slices to send: Send
 

Originally posted by David Harkness:
If you want a "null" for a char, try '\u0000'.



Tried that, got 4 errors for that alone!

illegal escape character
unclosed character literal (2)
';' expected
+Pie Number of slices to send: Send
 

Originally posted by Greg Roberts:
Tried that, got 4 errors for that alone!

illegal escape character
unclosed character literal (2)
';' expected

Hmm, the JavaDocs show '\u0000' as being the value of Character.MIN_VALUE. You used zeros and not capital-Os, right?
+Pie Number of slices to send: Send
Yeah, I used zero's. Compiler didn't like it. What would you normally use in a default constructor for a char variable?
+Pie Number of slices to send: Send
Greg:

I don't know if you have solved your problem or not, but I made one change and had your program running. The only thing I did was move the call to the grossPay() and netPay() methods inside the getGrossPay() and getNetPay() methods, respectively.

I think you logic issue is naming the the two methods as "calculateGrossPay" and "calculateNetPay".

Everything else seems to work.

Best of luck,

Russ
+Pie Number of slices to send: Send
 

Originally posted by Greg Roberts:
What would you normally use in a default constructor for a char variable?

Since all instance fields are initialized by the JVM (chars get '\u0000'), I'd remove the initialization of it from the constructor.

Just to test, I added the following line to one of my classes:and it compiled fine using JDK 1.4.2_05. I have no idea why javac isn't liking it on your end.
+Pie Number of slices to send: Send
 


Tried that, got 4 errors for that alone!

illegal escape character
unclosed character literal (2)
';' expected



What is your code?
You may foggot ';' at the end of expression.
brevity is the soul of wit - shakepeare. Tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1344 times.
Similar Threads
If-then conversion of textfields for calc
Alright, my eyes hurt from staring at this monitor trying to figure this out.
DUE AT MIDNIGHT TONIGHT..1 ERROR..HELP
Not returning a value
payroll
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 04:25:46.