Stop random numbers repeating HELP!!

i have been trying to create ten random numbers between 0-99 without them repeating and put them into an object array. this is the code i have been trying but it doesn't seem to work.
public static void main (String[] args)
     Random generator = new Random();
     Object[] data = new Object[10];
     int marker = 0;
     for (int i = 0; i< data.length; i++)
     int number = Math.abs( generator.nextInt() )%99+1;
     Integer random = new Integer ( number );
     for ( int a = 0; a < data.length; a++ )
               if ( ( data[a] ) == random )
               marker = marker + 1;
               if ( marker == 0 )
                    data[i] = random;
               else
                    i = i - 1;
                    marker = 0;
          for (int i = 0; i < data.length; i++)
               System.out.println( data[i] );

redesign your code, how is that look? :)
public static void main (String[] args)
  Random generator = new Random();
  Object[] data = new Object[10];
  Set set = HashSet();
  while(set.size() < 10)
    int number = Math.abs( generator.nextInt() )%99+1;
    Integer random = new Integer ( number );
    set.add(random);
  Iterator iter = set.iterator();
  int j = 0;
  while (iter.hasNext())
    data[j++] = iter.next();
  for (int i = 0; i < data.length; i++)
    System.out.println( data[i] );
}--lichu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • Need Help with random numbers, please help

    Hi guys;
    I need your help for a school project. I need to generate a random number from 1.0 to 2.0. How would I do that?
    Regards,

    http://java.sun.com/j2se/1.3/docs/api/java/util/Random.html#nextFloat()

  • Array of unique random numbers - help?

    basically, i'm trying to create a BINGO card.
    i stared learning Java a week ago and am finding it easy to learn and use....at least so far.
    my instructor gave me the assignment to created a BINGO card. so i used the system.out.format command to make 5 tab fields, 8 spaces each ("%8s %8s %8s %8s %8s", "B", "I", "N", "G", "O"). although the assignment only wanted me to think numbers out of thin air, just to use as examples, i went above and beyond with the idea to make a BINGO card generator that could actually function.
    then i started the random number sequences, using the Math.random() command. all told, there are 24 of these in the program, one for each number on a bingo card. the field in the middle is the FREE space, so it has no Math.random command.
    in BINGO, each letter (one of my five tab fields) can have a number in ranges of 15. B is 1 to 15, I is 16 to 30, etc. it looks similar to this:
    B I N G O
    9 19 39 57 66
    3 28 32 51 74
    3 29 FREE 46 70
    14 28 43 55 67
    9 24 35 59 62
    as you can tell, i'm having trouble with actually making unique random numbers so that none repeat.
    is there a command or string or something to help me accomplish this?

    The best way I've come up with is to use an object to store the numbers that implements Collection--like ArrayList...
    Then you load it with the range of numbers that you want and call, shuffle() on the object, that will randomize your range of numbers and then you can choose the quantity you want from the storage object. So let's say you need 25 number in the range of 1 to 100:
    Add the numbers (you have to use classes so I would do Integers) 1 to 100;
    call shuffle()
    pull back the first 25 numbers
    This will guarantee that each number is distinct and in a random order.
    If you need multiple sheets populated, you can just call shuffle() between population of each sheet.
    package Junk;
    import java.util.ArrayList;
    import java.util.Collections;
    class Junk{
      private ArrayList<Integer> l;
      Junk(){
        l = new ArrayList<Integer>();
      public void loadList(int s, int e){
        for(int i=s; i<=e; i++){
          l.add(new Integer(i));
      public void randomizeList(){
        Collections.shuffle(l);
      public void printList5(){
        for(int i=0; i<5; i++){
          System.out.println(l.get(i));
      public static void main(String[] args){
        Junk j = new Junk();
        j.loadList(10,99);
        j.randomizeList();
        j.printList5();
        System.out.println();
        j.randomizeList();
        j.printList5();
    }

  • Non repeating random numbers

    Hi,
    Im writing code to generate 10 random numbers and i have code written so that if a number between 1 and 10 is already chosen, it has to look for another number. heres snippets of the code:
    for (int b = 0; b < 2; b++)
    for (int i = 0; i < a.length; i++)
    int test = (int)(Math.random() * 10);
    boolean r = valueExists(test);
    if (r == (true))
    test = (int)(Math.random() * 10);
    else
    a[i] = test;
    boolean valueExists(int value)
    int z = a.length;
    boolean exists = false;
    for (int j = 0; j < z; j++)
    if (a[j] == value)
    exists = true;
    return exists;
    when i run this code, the numbers do repeat. can anyone help?

    import java.util.List;
    import java.util.ArrayList;
    import java.util.Random;
    public class RandomNumbersDemo {
        private List numbers = new ArrayList();
        private Random random = new Random();
        public static void main(String[] args) {
                 RandomNumbersDemo demo = new RandomNumbersDemo();
            demo.init();
            demo.doThatVoodoo();
        public void doThatVoodoo() {
            while (numbers.size() > 0) {
                System.out.println(getRandomInteger());
        public int getRandomInteger() {
            int element = random.nextInt(numbers.size());
            Integer randomInteger = (Integer) numbers.get(element);
            numbers.remove(element);
            return randomInteger.intValue();
        public void init() {
            for (int i = 0; i < 10; i++) {
                numbers.add(new Integer(i));

  • I spend a long time to try to sync my itunes music on my ipod 160 GB Classic, but after waiting so long get a pop up message that itunes stop syncing because of error 46, some times giving me 58, 1469, and many other numbers, please help macbook pro

    i spend a long time to try to sync my itunes music on my ipod 160 GB Classic, but after waiting so long get a pop up message that itunes stop syncing because of error 46, some times giving me 58, 1469, and many other numbers, please help am using macbook pro

    That is precisely what my mid-2010 MacBoook Pro 13 was doing before the drive finally died after an Apple Genius rebooted it a dozen or so times. I have since read about the exact same thing happening to others, including a writer for The Atlantic magazine who had never had an issue with a Mac before. Do a back-up ASAP to make sure you don't lose anything and see about replacing the HDD. It is only about $140 for a new drive. The real issue is if you lose your data, too. So, make sure you do that back-up!

  • Help in generating the same random numbers each time of the program executi

    dear friends
    i am facing a problem that the random numbers generated at time of each exectuion of the program are not the same, i want to generate the same random numbers every time time i run the program. i need your help. i am giving the code in c++ if anybody can help in providing the solution so that i get the same random numbers at every run of the program. waiting for your help
    wit regards
    jaya shankar
    #include<iostream.h>
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    class density
    int s[150][150],parent[150][150],i,j,l,n,loop;
    public:
    void bd(void);
    void css(void);
    void density :: bd(void)
    cout<<"ENTER THE POPULATION SIZE = ";
    cin>>n;
    cout<<"\nENTER THE NO.OF LOOPS = ";
    cin>>loop;
    for(i=0;i<n;i++)
    for(j=0;j<80;j++)
    s[i][j]=rand()%2;
    cout<<"s:"<<s[i][j];
    void density :: css(void)
    int a,b;
    float c;
    for(i=0;i<n;i=i+2)
         b=rand()%100;
         cout<<"random b="<<b;
    main()
    density d;
    d.bd();
    d.css();

    To generate the same random,it's impossible!
    why do you want to do that?

  • Help in generating the same random numbers at every time of executuion

    dear friends
    i am facing a problem that the random numbers generated at time of each exectuion of the program are not the same, i want to generate the same random numbers every time time i run the program. i need your help. i am giving the code in c++ if anybody can help in providing the solution so that i get the same random numbers at every run of the program. waiting for your help
    wit regards
    jaya shankar
    #include<iostream.h>
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    class density
    int s[150][150],parent[150][150],i,j,l,n,loop;
    public:
    void bd(void);
    void css(void);
    void density :: bd(void)
    cout<<"ENTER THE POPULATION SIZE = ";
    cin>>n;
    cout<<"\nENTER THE NO.OF LOOPS = ";
    cin>>loop;
    for(i=0;i<n;i++)
    for(j=0;j<80;j++)
    s[j]=rand()%2;
    cout<<"s:"<<s[j];
    void density :: css(void)
    int a,b;
    float c;
    for(i=0;i<n;i=i+2)
    b=rand()%100;
    cout<<"random b="<<b;
    main()
    density d;
    d.bd();
    d.css();

    You have to read the documentation for the java.util.Random class.
    "If two instances of Random are created with the same seed, and the same sequence of method calls is made for each, they will generate and return identical sequences of numbers. In order to guarantee this property, particular algorithms are specified for the class Random"
    Here is a peace of code that will do wat you need:
    Random rand = new Random(100);
    for(int i=0; i<10; i++)
         System.out.println("Random="+ rand.nextInt(10));

  • 6 random numbers without repeat

    I'm trying to make a 6 digit random number generator between 1 and 48. When the user click a button 6 random numbers show up in 6 different textFeilds. The problem is that I don't want the same number twice. How can I generate 6 different random numbers without using return and breaking out of the function?
    import flash.events.Event;
    stop();
    btn.addEventListener (MouseEvent.CLICK, random1);
    function random1 (evt:Event) {
              display1.text = "";
              display2.text = "";
              display3.text = "";
              display4.text = "";
              display5.text = "";
              display6.text = "";
              var r1 = Math.floor(Math.random()*(1+48-1))+1;
              var r2 = Math.floor(Math.random()*(1+48-1))+1;
              var r3 = Math.floor(Math.random()*(1+48-1))+1;
              var r4 = Math.floor(Math.random()*(1+48-1))+1;
              var r5 = Math.floor(Math.random()*(1+48-1))+1;
              var r6 = Math.floor(Math.random()*(1+48-1))+1;
              if (r2 == r1 || r3 == r2 || r4 == r3 || r5 == r4 || r6 == r5) {
                        return;
              var liste:Array = new Array();
              liste.push(r1,r2,r3,r4,r5,r6);
              liste.sort(Array.NUMERIC);
              display1.text = String(liste[0]);
              display2.text = String(liste[1]);
              display3.text = String(liste[2]);
              display4.text = String(liste[3]);
              display5.text = String(liste[4]);
              display6.text = String(liste[5]);

    Here's the code for the approach mentioned with your textfields included
    btn.addEventListener (MouseEvent.CLICK, random1);
    function random1 (evt:Event) {
        var nums:Array = new Array();
        // fill the array of numbers
        for(var i:uint=1; i<=48; i++){
            nums.push(i);
        shuffle(nums);
        // grab the first six in the shuffled array
        var liste:Array = nums.splice(0,6);
        // assign the values to the textfields
        for(var j:uint=1; j<=6; j++){
            this["display"+String(j)].text = String(liste[j]);
    function shuffle(a:Array) {
        var p:int;
        var t:*;
        var ivar:int;
        for (ivar = a.length-1; ivar>=0; ivar--) {
            p=Math.floor((ivar+1)*Math.random());
            t = a[ivar];
            a[ivar] = a[p];
            a[p] = t;

  • Need help with random numbers

    hi i need to generate 2 random numbers from array list . and then take out that two numbers from list.
         String[] plcard = { "AC", "KC", "QC", "JC",
              "10C", "9C", "8C", "7C","6C","5C","4C","3C","2C", "AD", "KD", "QD", "JD",
              "10D", "9D", "8D", "7D","6D","5D","4D","3D","2D", "AS", "KS", "QS", "JS",
              "10S", "9S", "8S", "7S","6S","5S","4S","3S","2S", "AH", "KH", "QH", "JH",
              "10H", "9H", "8H", "7H","6H","5H","4H","3H","2H",};
    this is the list if someone can help me i would appreciate
    thanks in advance

    haha, never noticed the .shuffle(List) method!
    maybe java is getting too convenient (just kidding)?
    i never wrote a card game.
    how would the more programmingly gifted of us do this?
    this is my shot at it for what its worth...
    public class Card{
    public Card(int rank, int suit){
    this.rank = rank;
    this.suit = suit;
    int rank (or String i suppose)
    int suit;
    static final club = 1;
    static final spade = 2;
    static final heart = 3;
    static final diamond = 4;
    public class Shuffler{
    public Shuffler(){
    int NumOfDecks = 1;
    Vector ShuffledDeck;
    // num of decks
    for(int i = 0; i < NumOfDecks){
    // 4 suits
    for(int j = 0; j < 4; j++){
    // 13 ranks
    for(int k = 0; k < 13; k++){
    ShuffledDeck.add(new Card(k, j));
    } // suits
    } // num of decks
    Collections.shuffle(ShuffledDeck);
    // Done?
    }

  • Hi, I have an iPhone 4 which rings people when it is locked, whether or not in my pocket.  I always lock it when not using it.  Can anyone help? It is calling random numbers, not the last person or anyone even recently called on my recents list. Thanks

    Hi, I have an iPhone 4 which rings people when it is locked, whether or not in my pocket.  I always lock it when not using it.  Can anyone help? It is calling random numbers, not the last person or anyone even recently called on my recents list. Thanks

    Pay no attention to iinami, the amount of replies to people saying their handsets must have been jailbroken everytime iTunes throws out an error is tremendous. (Clearly you don't need to have any real knowledge to get to level 3 on these forums, let's hope apple's geniuses know a lot more than some of their customers.)
    http://support.apple.com/kb/TS3694
    Solution below.
    Error 9
    This error occurs when the device unexpectedly loses its USB connection with iTunes. This can occur if the device is manually disconnected during the restore process. This issue can be resolved by performing USB troubleshooting, using a different USB dock-connector cable, trying another USB port, restoring on another computer, or by eliminating conflicts from third-party security software.

  • How to genrate non-repeating random numbers

    Hi everyone, i'm trying to write a for loop that genrate a
    list of non-repeating random index number for an array list but i
    can't seem to get the random numbers non-repeat. I'm a newbie in
    Flex 2 so it would be great if anyone could show me what seems to
    be the problem in this code:
    Thank you very much.
    Richie
    for (var j:Number = 0; j < tempArray.length; j++)
    var randomNum:Number =
    Math.round(Math.random()*tempArray.length);
    if (j - 1 >= 0)
    while (randomNum == randomIndex[j-1].index)
    randomNum = Math.round(Math.random()*tempArray.length);
    //Push the random number in an array
    randomIndex.push({index: randomNum});
    Alert.show(randomNum.toString());
    }

    Dont' worry about it guys, i already got it thanks!

  • My Macbook pro randomly shut off. When i hit the power button, i can hear it start up, but after a click sound, it stops booting up.  help?

    My Macbook pro randomly shut off. When i hit the power button, i can hear it start up, but after a click sound, it stops booting up.  help?

    Hi..
    Try Resetting the System Management Controller (SMC)
    If that doesn't help, try Troubleshooting MagSafe adapters
    When you post, please tell us which Mac OS X you have installed. Thanks 

  • How do I generate random numbers from a list of numbers without repeating any number

    I am trying to generate a list of random numbers without any repeating numbers.  For example say the list is from 1 to 15, how do I randomly generate a list of numbers using each number only once?

    pb,
    You can build a randomizer by making a 2-column table with 15 rows. In Column A, Fill with the numbers 1 to 15. In column B Fill with RAND(). Then sort on Column B. There will now be a randomized list of the numbers from 1 to 15 in Column A. You can copy this random list and use it in your application.
    Jerry

  • Please Help in generation of Random Numbers & Characters

    hai friends,
    Please help me to generate random Numbers and Characters to the Fields of the Table.
    Please Send code to it.
    madhava

    It's easier enough. Just use the DBMS_RANDOM package supplied by Oracle.
    SQL> desc rndm
    Name                                      Null?    Type
    COL1                                               NUMBER
    COL2                                               VARCHAR2(10)
    COL3                                               DATE
    SQL> BEGIN
      2     DBMS_RANDOM.initialize(12348765);
      3     FOR i IN 1..4 LOOP
      4        INSERT INTO rndm VALUES (dbms_random.value
      5                                 , dbms_random.string('A', 10)
      6                                 , sysdate + dbms_random.value(1,1000));
      7     END LOOP;
      8  END;
      9  /
    PL/SQL procedure successfully completed.
    SQL> SELECT * FROM rndm;
          COL1 COL2       COL3
    .028766128 pUFMxywBzC 14-JAN-07
      .7524715 SupFLVZmEC 22-JUN-07
    .454116997 EHCEZKPORm 14-FEB-05
    .330733477 gycpybxdRS 12-MAR-07
    SQL> Note that the published API seems to have changed in 9.2 (if not earlier), with the apparent sole purpose of DBMS_RANDOM being the generation of random numbers. However, as you can see, the old methods still work. Not sure what Oracle are up to.
    Cheers, APC

  • Ok so my new iPod Classic is repeatedly restarting itself and I see nothing on the screen But the Apple logo and I canny do anything to stop it can anybody help me

    Ok so my new iPod Classic is repeatedly restarting itself and I see nothing on the screen But the Apple logo and I canny do anything to stop it can anybody help me

    Try the DFU Restore method shown in Corrupt iPod classic.
    tt2

Maybe you are looking for

  • How can i see how many song i have in my iTunes library

    i have just downloaded the new software update for itunes and i cant see how many songs i have in my library. is there a way i can check that or put that back on?

  • How Do I Replace the Hard Drive in my 20" Intel iMac?

    Pretty sure the hard drive in my iMac is dead. When I try to start it up it makes clicking noises then i get a grey screen with a flashing ? mark folder. I was able to boot from the software disk so i could run disk utility but when i did i doesn't e

  • Bluetooth works for music, but not calls

    When I pair my Xperia M2 with my PLT_BBTGO, eventhough both Phone Audio and Media Audio are checked, the media audio only seems to work.  I tried placing a call while my bluetooth was paired and it only worked through the phone itself, instead of the

  • Basic things in JMF(How to start?)

    Hello Friends I m new to this JMF n trying to explore this topic from long time. also i hv read many post in this topic. But havent got any basic rules to run jmf programs. please help me I m doing 1 project which requires to transfer audio to many p

  • My program wont start following latest windows update

    my program wont start following latest windows update