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.

Reply via email to