• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

greater than or less than symbols

 
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I know how they are used, but how are they used in java with variables, and methods.

My question ask for the correct replacements for
/*statement to generate random number*/
(/* test to determine if plant dies*/)

code:


and the answer is
double x = Math.random();
x < myProbDeath


how does this work?
 
Ranch Hand
Posts: 479
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To find out what Math.random() does, you look up on

[url]http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Math.html
[/url]

and hunt down the random() method to find the following:

static double random()
Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.


So the statement "double x = Math.random();" calls the (static) method random of the Math class, returning a value of type double that is between 0.0 and 1.0. It is a random or psuedorandom value, i.e., you do not know what it will be from call to call.

The expression "x < myProbDeath" compares the value of x to a variable named myProbDeath, which I presume is a probability that a plant will die. If you set myprobDeath to 30.0, then 30% of your plants will die on executing this code, assuming a truly random number and a big enough population.

rc
 
Tim Hoang
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for clearing up the question.
I just looked at it right after you posted and it was really dumb of me to ask.

What I got from the your explanation is that: if x is greater (meaning its chance of living) is less than its chance of dying(myProbDeath).
I didn't catch that.

btw I want to know your time in responding to this question because I am learning java by myself and I am not sure how slow I am picking up this subject.
 
Tim Hoang
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have discovered another question using the greater than or less than symbols.

A portion of an answer from the question:



could you clarify how the symbols are used with zero?
 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That just means "does strA.compareTo(strB) return a value less than zero". Again, the thing to do is to check the documentation to see what the return value of compareTo means. compareTo is part of the Comparable interface, and is used to be able to sort objects in order.
 
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Hoang wrote: . . . if x is greater (meaning its chance of living) is less than its chance of dying(myProbDeath). . . .

That's not what it means at all. It means you are choosing a "random" number between 0 and 0.9999999999999... and comparing another number to it.has exactly a 25% chance of being executed and exactly a 75% chance of not being executed, assuming myRandom is uniformly distributed across that range. Try counting, with 0, 0.05, 0.1, 0.15 ... 0.95 (not 1.0), and see what happens. See how many of those numbers will allow execution of the if. Note thatwill have a very very slightly lower chance than 25%, because you are using the range from 0.7500000000000001... to 0.9999999999999..., not to 1.0. Try counting with 0, 0.05, 0.1 ... 0.95 again, and see what happens.
 
Tim Hoang
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Campbell Ritchie,
So I think I found an error in the book.

strA = "TOMATO"
strB="tomato"
strC ="tom"
which of the following is true?

answer:


I thought only equals method comes out true or false and compareTo produces values depending on the string precedence.

 
Master Rancher
Posts: 4806
72
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Hoang wrote:I thought only equals method comes out true or false and compareTo produces values depending on the string precedence.


Not quite. compareTo() does produce values - int values - based on string precedence. And contrary to what the comment says, it produces a negative value in this case. But you need to look at the whole expression:

This is equivalent to

which is

which is

which is

 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic