addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Re: A little Friday morning challenge for the group...

From: Wesley H.
Sent on: Friday, January 25, 2013 4:17 PM
Oh sorry...


Nice! Actually I started writing this because I wasn't able to find a
solution out there in the open source world. I will have a look at the
code for the commons math stuff tonight to see how they approached it.

On Fri, Jan 25, 2013 at 4:13 PM, Wesley Hall <[address removed]> wrote:
> Wow, loving the volume of responses :).
> Just one request, it would be helpful to me if people can keep the
> subject line consistent, this keeps gmail thread organisation working
> and is helpful for my sanity.
> Some comments for various people:
> Sam,
> I am not too worried about efficiency or the distribution of
> java.util.Random itself. This is not going to be used in highly
> contended code. The solution you provide suffers from some problems,
> test it with values like Long.MIN_VALUE and Long.MAX_VALUE as the
> parameters and -1 to MAX etc. You will see some strange behaviour.
> Cosmin,
> I looked at your solution and it looked like it was just mathematical
> enough to work, alas... MIN_VALUE and MAX_VALUE provides the same
> result on every call, so something is certainly wrong ;).
> Jahan,
> Try the above types of parameters as well, you may well find that you
> have a problem ;).
> Stuart,
> You might win actually :). The stuff after the BigInteger stuff
> (which, *spoiler* is pretty much what I did), looks like it should
> have distribution problems. Especially with the way that you do that
> 'correct' thing and push everything between the bounds. That just
> looks to me like you will end up with a disproportionate numbers at
> the boundaries but I did a very quick distribution test and this
> didn't seem to be happening. I will look a little more tonight. My
> solution is a bit different but yours might well be better.... watch
> this space :).
> Wes
> On Fri, Jan 25, 2013 at 10:56 AM, Wesley Hall <[address removed]> wrote:
>> Hello folks,
>> I came across what turned out to be a pretty interesting problem on a
>> project of mine last night, and I thought I would share it with you
>> guys. I am interested to see if anyone can come up with a better
>> solution than I did (highly likely I suspect :)).
>> Your mission, should you choose to accept it, is to write a method, in
>> Java, with the following signature...
>> public static long generateRandom(long min, long max) {
>>    // code here
>> }
>> Such that the method generates a random long value that is between the
>> two parameters provided (inclusive). The only restriction on the
>> parameters is that max >= min, for brevity you can assume this is
>> ensured outside of the method and that you don't need to check inside.
>> The first person to provide a working solution gets to look like a
>> hero... and if you provide a solution that I think is better than the
>> one I have, then I will (with your permission), use this version in
>> the library that I am about to open source and give you contributor
>> credit.
>> GO....
>> Wes

Our Sponsors

  • Our Blog

    Read the latest news from the LJC

  • RecWorks Ltd

    Fixing Tech Recruitment using the Power of Community

  • jClarity

    Java/JVM Performance Analysis Tools & mentoring for Java related matters

  • LJC Aggrity

    Our LJC Aggrity site contains blog posts from our members

  • LJC Book Club

    Our Book club with book reviews from our members

  • Devoxx UK

    Java Community Conference in collaboration with the LJC, 8-10th June 16

  • SkillsMatter

    "Host, help organise, promote, film many of our meetings."

  • IBM

    Build Enterprise-grade apps at start-up speed.

  • New Relic

    New Relic makes sense of billions of metrics a day in real time.

  • Hazelcast

    Hazelcast is the leader in operating in-memory computing.

  • Java.Net

    We are an official Java User Group recognised by Oracle's JUG program

  • JRebel

    Free 3 month J-Rebel license.

  • O'Reilly

    40% discount on printed books and 50% on e-books.

People in this
Meetup are also in:

Sign up

Meetup members, Log in