aspose file tools*
The moose likes Beginning Java and the fly likes program to calculate male to female ratio of a given number Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "program to calculate male to female ratio of a given number" Watch "program to calculate male to female ratio of a given number" New topic
Author

program to calculate male to female ratio of a given number

nathan gibson
Ranch Hand

Joined: Sep 16, 2009
Posts: 120


i have the following code, and it works correctly, but im not sure how to make the results be partially biased towards the male side to represent the slightly greater number of males in the world. it is male: 50.34%, female: 49.66%. how can i incorporate this into the program? examples are welcome. thank you in advance.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61648
    
  67

Before even thinking about writing a line of code, you should work out the math behind the problem. Give that a go.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19760
    
  20

nathan gibson wrote:boolean isMale = randomNumber > .5;

Just as a side note, you do know that the changes of being a female are larger than those of being a male this way, right?

randomNumber is between 0 (inclusive) and 1 (exclusive). For simplicity's sake let's only deal with steps of 0.01.
Someone is female for all values from 0 to 0.5 (inclusive) - that's 51 different values. Someone is male for all values from 0.51 to 0.99 (inclusive) - that's 49 different values. To have an even 50-50 match, turn the > into a >=.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14345
    
  22

nathan gibson wrote:it is male: 50.34%, female: 49.66%. how can i incorporate this into the program?

That would be very easy. You'd just have to change one thing in this line:

What do you think you'd have to change there to make the chance of isMale being true to .5034?


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39828
    
  28
Surely that's < 0.5, Jesper???
salvin francis
Ranch Hand

Joined: Jan 12, 2009
Posts: 928

hi

Let me put this forward this way:

for simplicity, lets assume random gives you a value between 1 to 10 (both inclusive)
assuming that you want ratio of men >= 70% and female <=30%
wouldnt you say that if random <=7 its a Man else a Woman ?


now change the example to match 50.34% with random 0 to 1


My Website: [Salvin.in] Cool your mind:[Salvin.in/painting] My Sally:[Salvin.in/sally]
nathan gibson
Ranch Hand

Joined: Sep 16, 2009
Posts: 120
oh. okay. i got ya, sorry, that was due to a bit of programmers block, thanks for the help. you guys are great.
Miklos Szeles
Ranch Hand

Joined: Oct 21, 2008
Posts: 142
Hi nathan,

I've noticed that this is the same program what you posted here. Only the variable names and interpretations are different. Can I ask you what's the purpose of this? I'm really curious.
According to the answers you got here you should also change the randomNumber > .5; to randomNumber >= .5; in the coin flipping program.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14345
    
  22

Campbell Ritchie wrote:Surely that's < 0.5, Jesper???

I just copied and pasted a line of code out of Nathan's original program.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39828
    
  28
Jesper Young wrote:I just copied and pasted a line . . .
Which will have well over 0.00000000000001% inaccuracy
 
 
subject: program to calculate male to female ratio of a given number