Actually, totalsquareyards should be double. With it being float and doing a correct float division, I get 629.9999862671, whereas if it's a double division, I indeed get 630.
Alexey 2001 Honda CBR600F4i (CCS) 2002 Suzuki Bandit 1200S 1992 Kawasaki EX500 http://azinger.blogspot.com http://bsheet.sourceforge.net http://wcollage.sourceforge.net ________________________________ From: David Chuhay <[email protected]> To: [email protected] Sent: Sun, May 9, 2010 9:49:31 PM Subject: Re: [The Java Posse] java noob questions Your problem lies within the following lines int product= length * width; float totalsquareyards=product / 9; Dividing an int by another int always returns an int, so you're dividing product by 9, throwing away the fractional part, then casting that result to a float. If you want a floating point answer, your calculation must include a floating point value. In this case, simply using 9.0f (that 'f' is important) instead of 9 would be enough. On 5/9/2010 9:25 PM, Luke Vandervort wrote: > This should be simple for you guys. I am writing a simple program. The > correct answer is 630, however java comes up with 626.4. I assume this > is a rounding issue because I used the wrong variable type, but after > a couple hours on this thing I have no idea. Anyone have any > suggestions? > > public class yards > { > public static void main(String[] args) > { > byte length=25; > byte width=42; > int product= length * width; > float totalsquareyards=product / 9; > double cost= totalsquareyards * 5.4f; > > > System.out.println(""); > System.out.print("The carpeting is " + length); > System.out.println(" feet long."); > System.out.println(""); > System.out.print("The carpeting is " + width); > System.out.println(" feet wide."); > System.out.println(""); > System.out.print("It will cost $" + cost); > System.out.println(" to carpet the room"); > System.out.println(""); > } > > } > > > Thanks! > -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
