Random numbers, whithin a button handler class

For my last project I need to create a program that opens a window with 10 text boxes, all displaying "0" at first and a button labled New Numbers. When this button is pushed it needs to generate random numbers within all of the text fields. I have been able to create one that has the text boxes and the button, but in the button handler class the random numbers will not generate properly.I figured that if I could get the button handler class to at least change just the first text field then I would be able to get the rest, but I can't even seem to get that far. Below is what I have so far, any help or guidence would really be appreciated.. Thanks
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Program6
     public static void main(String [] args)
          MyFrame frame = new MyFrame("Alan Jackson - Program 6");
          frame.pack();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setVisible(true);
class MyFrame extends JFrame
     JTextField [] txt = new JTextField[10];
     JButton btnNewNumbers;
     public MyFrame(String S)
          super(S);
          setLayout(new FlowLayout());
          btnNewNumbers = new JButton("New Numbers");
          int i = 0;
          while(i<10)
               txt[i] = new JTextField("0",12);
               add(txt);
               i++;
          add (btnNewNumbers);     
          btnNewNumbers.addActionListener(new ButtonHandler());
          class ButtonHandler implements ActionListener
               public void actionPerformed(ActionEvent random)
                    txt[0].setText((int) (Math.random() * 100 +1));                    

Next time, please use CODE tags, to post your code.
class MyFrame extends JFrame{
     JTextField [] txt = new JTextField[10];
     JButton btnNewNumbers;
     public MyFrame(String S){
          super(S);
          setLayout(new FlowLayout());
          btnNewNumbers = new JButton("New Numbers");
          int i=0;
          while(i<10){
               txt[i] = new JTextField("0",12); //<<<<< changed
               add(txt);
               i++;
          add (btnNewNumbers);
          btnNewNumbers.addActionListener(new ActionListener(){
               public void actionPerformed(ActionEvent random){
                    for(int i = 0; i< 10; i++){
                         txt[i].setText(Integer.toString((int) (Math.random() * 100 +1)));

Similar Messages

  • How to generate random numbers in a range using random class?

    I know how to use Math.random for this, but how would I generate random numbers using the random class?
    Say I want a number between 40 and 50, inclusive--how would I do this?
    What i have in mind is:
    int randomNumber = random.nextInt(max) + min;
    where max is 50 and min is 40. Is this correct?

    Fredddir_Java wrote:
    I know how to use Math.random for this, but how would I generate random numbers using the random class?
    Say I want a number between 40 and 50, inclusive--how would I do this?
    What i have in mind is:
    int randomNumber = random.nextInt(max) + min;
    where max is 50 and min is 40. Is this correct?What happened when you generated a couple hundred numbers that way? Did you get all the ints in the range you wanted?

  • I am trying to generate an array of 30 random numbers. after every 5 readings a new vi should open and tell the user that 5 readings has been completed. and again carry on with the generation of array.

    since i do not have a transducer now, i am currently generating an array of 30 random numbers. after every 5 readings a warning should be given to the user that 5 readngs are complete. this cycle should repeat. the array size is 30.
    please help me out,  waiting for reply asap.
    once i have the transducer, i will be taking 30 analog samples and then after every 5 smaples that wraning will be displaye din a new VI
    Solved!
    Go to Solution.

    Use a while loop with a time delay representing your sampling period.
    Use the count terminal to check if equals 4, so 4th iteration=5th sample.
    Use a case structure. The true case will only be executed on the 4th iteration.
    In the true case place a subVI  with your desired message in the front panel. Go to the VI properties window and set "open front panel when called".
    The closing condition of the warnign is not giving in your description.
    Consider that rather than usign a subvi for this, you could use the "One/Two/Three button dialog" or "display message" vis at the "dialog and user interface" pallete.
    Please give it a try and send your own VI. Do not expect us to provide a working solution.
    Regards,

  • How can you generate Multiple random numbers from 1 to 49?

    I am very new at programming with the iPhone SDK and I need some help with a project I am working on. What I want to do is set up a window with 6 labels and 1 button. When the user clicks the button, the program will populate 6 randomized numbers each ranging from 1 to 49, and then place each of 6 numbers in a label. But each time the program ends and starts again the numbers cannot be the same, and also when the user clicks the button, no label can have the same number twice, so for example. If label 1 had the number 10, the other 5 labels cannot have that number until the button is clicked again. I know how to set up the interface, I just need the code. I would so greatly appreciate someone's help in this matter. I have been trying to do this for days and I cannot figure it out. Possibly someone who knows tons about Objective C programming can help me!
    Thank-you so very much!!

    I see that you're writing a lottery number generator. Perhaps the easiest way to do it is to emulate a real lottery: fill an array (NSMutableArray, probably) with the numbers between 1 and 49, pick one at random, remove that number from the array, and repeat. (You can think of the numbers as being the balls and the array as being the machine that pops them out.)
    One simple way to get the random indices needed is to extract six random bytes from Randomization Services using SecRandomCopyBytes, then loop over them, using the modulo operator (%) to select an index within the size of the array.
    And no, I'm not going to write your code for you. If I was going to do that, I could package and sell the app myself.

  • I need help with this program ( Calculating Pi using random numbers)

    hi
    please understand that I am not trying to ask anymore to do this hw for me. I am new to java and working on the assignment. below is the specification of this program:
    Calculate PI using Random Numbers
    In geometry the ratio of the circumference of a circle to its diameter is known as �. The value of � can be estimated from an infinite series of the form:
    � / 4 = 1 - (1/3) + (1/5) - (1/7) + (1/9) - (1/11) + ...
    There is another novel approach to calculate �. Imagine that you have a dart board that is 2 units square. It inscribes a circle of unit radius. The center of the circle coincides with the center of the square. Now imagine that you throw darts at that dart board randomly. Then the ratio of the number of darts that fall within the circle to the total number of darts thrown is the same as the ratio of the area of the circle to the area of the square dart board. The area of a circle with unit radius is just � square unit. The area of the dart board is 4 square units. The ratio of the area of the circle to the area of the square is � / 4.
    To simuluate the throwing of darts we will use a random number generator. The Math class has a random() method that can be used. This method returns random numbers between 0.0 (inclusive) to 1.0 (exclusive). There is an even better random number generator that is provided the Random class. We will first create a Random object called randomGen. This random number generator needs a seed to get started. We will read the time from the System clock and use that as our seed.
    Random randomGen = new Random ( System.currentTimeMillis() );
    Imagine that the square dart board has a coordinate system attached to it. The upper right corner has coordinates ( 1.0, 1.0) and the lower left corner has coordinates ( -1.0, -1.0 ). It has sides that are 2 units long and its center (as well as the center of the inscribed circle) is at the origin.
    A random point inside the dart board can be specified by its x and y coordinates. These values are generated using the random number generator. There is a method nextDouble() that will return a double between 0.0 (inclusive) and 1.0 (exclusive). But we need random numbers between -1.0 and +1.0. The way we achieve that is:
    double xPos = (randomGen.nextDouble()) * 2 - 1.0;
    double yPos = (randomGen.nextDouble()) * 2 - 1.0;
    To determine if a point is inside the circle its distance from the center of the circle must be less than the radius of the circle. The distance of a point with coordinates ( xPos, yPos ) from the center is Math.sqrt ( xPos * xPos + yPos * yPos ). The radius of the circle is 1 unit.
    The class that you will be writing will be called CalculatePI. It will have the following structure:
    import java.util.*;
    public class CalculatePI
    public static boolean isInside ( double xPos, double yPos )
    public static double computePI ( int numThrows )
    public static void main ( String[] args )
    In your method main() you want to experiment and see if the accuracy of PI increases with the number of throws on the dartboard. You will compare your result with the value given by Math.PI. The quantity Difference in the output is your calculated value of PI minus Math.PI. Use the following number of throws to run your experiment - 100, 1000, 10,000, and 100,000. You will call the method computePI() with these numbers as input parameters. Your output will be of the following form:
    Computation of PI using Random Numbers
    Number of throws = 100, Computed PI = ..., Difference = ...
    Number of throws = 1000, Computed PI = ..., Difference = ...
    Number of throws = 10000, Computed PI = ..., Difference = ...
    Number of throws = 100000, Computed PI = ..., Difference = ...
    * Difference = Computed PI - Math.PI
    In the method computePI() you will simulate the throw of a dart by generating random numbers for the x and y coordinates. You will call the method isInside() to determine if the point is inside the circle or not. This you will do as many times as specified by the number of throws. You will keep a count of the number of times a dart landed inside the circle. That figure divided by the total number of throws is the ratio � / 4. The method computePI() will return the computed value of PI.
    and below is what i have so far:
    import java.util.*;
    public class CalculatePI
      public static boolean isInside ( double xPos, double yPos )
         double distance = Math.sqrt( xPos * xPos + yPos * yPos );        
      public static double computePI ( int numThrows )
        Random randomGen = new Random ( System.currentTimeMillis() );
        double xPos = (randomGen.nextDouble()) * 2 - 1.0;
        double yPos = (randomGen.nextDouble()) * 2 - 1.0;
        int hits = 0;
        int darts = 0;
        int i = 0;
        int areaSquare = 4 ;
        while (i <= numThrows)
            if (distance< 1)
                hits = hits + 1;
            if (distance <= areaSquare)
                darts = darts + 1;
            double PI = 4 * ( hits / darts );       
            i = i+1;
      public static void main ( String[] args )
        Scanner sc = new Scanner (System.in);
        System.out.print ("Enter number of throws:");
        int numThrows = sc.nextInt();
        double Difference = PI - Math.PI;
        System.out.println ("Number of throws = " + numThrows + ", Computed PI = " + PI + ", Difference = " + difference );       
    }when I tried to compile it says "cannot find variable 'distance' " in the while loop. but i thought i already declare that variable in the above method. Please give me some ideas to solve this problem and please check my program to see if there is any other mistakes.
    Thanks a lot.

    You've declared a local variable, distance, in the method isInside(). The scope of this variable is limited to the method in which it is declared. There is no declaration for distance in computePI() and that is why the compiler gives you an error.
    I won't check your entire program but I did notice that isInside() is declared to be a boolean method but doesn't return anything, let alone a boolean value. In fact, it doesn't even compute a boolean value.

  • Random numbers in midp

    Am I missing something or is there no library method to generate random numbers in midp? if there isn't, can someone provide me with some link to a simple class that generates them or give some source.. I tried to use the date (time) to generate randoms but i need something more 'random'. And I'm sure there are many more tested and well working implementations etc. than I can come up with... :)

    import java.util.Random;
    import java.lang.Math;
    public class MyRandom
    { //Start of Class
         private Random random;
         //Constructor
         public MyRandom()
              random = new Random();     
         //Will return a number between 0 and maxint
         public int getInt(int maxint)
              return Math.abs(random.nextInt()>>>1) % (maxint + 1);
         //Will return a number between teh startint and the maxint
         public int getInt(int startint, int maxint)
              return startint + (Math.abs(random.nextInt()>>>1) % ((maxint-startint) + 1));     
    } //End of Class
    Hope this helps

  • In IPhone Apps crash when press back buton . When press back back button Last class is appeared slightly slighly ash, with no error or warning .

    Hi,
    I am developing apps on for 4.1 and on Xcode3.2. My Apps crash when press back buton . When press back back button Last class is appeared slightly than crash, with no error or warning ....Here are the code....crash on Back Funtion
    #import "TransactionSummaryDetailViewController.h"
    #import "TransactionSummaryData.h"
    #import "Constant.h"
    #import "DataBase.h";
    #import "Common.h"
    #import "YPCardHolderServiceService.h"
    #import "SelectionScreenViewController.h"
    @implementation TransactionSummaryDetailViewController
    @synthesize table,cardReference;
    @synthesize waitIndicator,transactionsummary,keyArray,valueArray,isSummaryAvailable;
    @synthesize startDate,endDate;
    // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
        if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
            // Custom initialization
        return self;
    -(void)getrowcount{
        if(transactionsummary.cardholdernmae !=nil){
            [keyArray addObject:@"Card Holder Name: "];
            [valueArray addObject:transactionsummary.cardholdernmae];
        if(transactionsummary.cardnumber!=nil){
            [keyArray addObject:@"Card Number: "];
            [valueArray addObject:transactionsummary.cardnumber];
        if(transactionsummary.debittransactioncount != nil){
            [keyArray addObject:@"Debit Tx. Count: "];
            [valueArray addObject:transactionsummary.debittransactioncount];
        if(transactionsummary.debittransactionvalue!=nil){
            [keyArray addObject:@"Debit Tx. Value"];
            [valueArray addObject:transactionsummary.debittransactionvalue];
        if(transactionsummary.credittransactioncount!=nil){
            [keyArray addObject:@"Credit Tx. Count: "];
            [valueArray addObject:transactionsummary.credittransactioncount];
        if(transactionsummary.credittransactionvalue!=nil){
            [keyArray addObject:@"Credit Tx. Value: "];
            [valueArray addObject:transactionsummary.credittransactionvalue];
    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    - (void)viewDidLoad {
        appDelegate = [[UIApplication sharedApplication]delegate];
        keyArray = [[NSMutableArray alloc]init];
        valueArray = [[NSMutableArray alloc]init];
        [self getrowcount];
        NSLog(@"Key Array Count is %d",[keyArray count]);
        [table setBackgroundColor:[UIColor clearColor]];
        [table setSeparatorColor:TableViewCellSeperatorColor];
        [waitIndicator setHidden:YES];
        [self setTitle:@"Summary Details"];
        UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
        [button setImage:[UIImage imageNamed:@"list.png"] forState:UIControlStateNormal];
        [button addTarget:self action:@selector(BacktoView) forControlEvents:UIControlEventTouchUpInside];
        [button setFrame:CGRectMake(0, 0, 76, 44)];
        self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
        if(!isSummaryAvailable)
            if([Common isNetworkAvailable])
                [waitIndicator startAnimating];
                YPCardHolderServiceService *services = [[YPCardHolderServiceService alloc] init];
                YPTransactionsSummaryRequest *summaryRequest = [[YPTransactionsSummaryRequest alloc] init];
                summaryRequest.SC = appDelegate.SC;
                summaryRequest.userName = appDelegate.userName;
                summaryRequest.valid =TRUE;
                summaryRequest.cardReference =[NSString stringWithFormat:@"%@",cardReference];
                NSLog(@"Start Date Is %@ and End Date is %@",startDate,endDate);
                summaryRequest.startDate = startDate;
                summaryRequest.endDate = endDate;
                summaryRequest.applicationType = @"M";
                [services getTransactionsSummary:self action:@selector(getTransactionsSummaryHandlers:) transactionsSummaryRequest:summaryRequest];
                [summaryRequest release];
                [services release];
        [super viewDidLoad];
    //Handle the Response of getTransactionsSummary
    -(void)getTransactionsSummaryHandlers:(id) value
        [waitIndicator stopAnimating];
        // Handle errors
        if([value isKindOfClass:[NSError class]]) {
            NSLog(@"%@", value);
            return;
        // Handle faults
        if([value isKindOfClass:[SoapFault class]]) {
            NSLog(@"%@", value);
            return;
        // Do something with the YPLoginResponse* result
        YPTransactionsSummaryResponse* result = (YPTransactionsSummaryResponse*)value;
        if(result.statusCode == 0)
            NSLog(@"Number of Transaction is =%d",[result.transactionSummaryList count]);
            NSLog(@"Step 1 ='%@'",appDelegate.userID);
            NSString *deleteQuery = @"delete from TransactionSummary where userid = ";
            NSLog(@"Step 1 ='%@'",appDelegate.userID);
            deleteQuery = [deleteQuery stringByAppendingString:[NSString stringWithFormat:@"%@ and cardreference = '%@'",appDelegate.userID,cardReference]];
            NSLog(@"delete query= '%@'",deleteQuery);
            [DataBase deleteDataFromTable:deleteQuery];
            NSLog(@"delete query= '%@'",deleteQuery);
            //for (int i =0; i< [result.transactionSummaryList count]; i++)
            for (int i =0; i< [result.transactionSummaryList count] -2; i++)
                NSLog(@"for loop= %d",i);
                YPTransactionSummaryDetails *transactionSummary = (YPTransactionSummaryDetails*)[result.transactionSummaryList objectAtIndex:i];
                NSLog(@"cardholdername= '%@'",transactionSummary.cardholderName);
                /*NSString *insertQuery = @"Insert into TransactionSummary(cardholdername,cardnumber,debittransactioncount,debittransac tionvalue,credittransactioncount,credittransactionvalue,userid) values(";
                insertQuery =[insertQuery stringByAppendingString:[NSString stringWithFormat:@"'%@','xxxx xxxx xxxx %@',%d,%d,%d,%d,'%@',%@)",
                                                                   transactionSummary.cardholderName,transactionSummary.cardNumber,transactionSumm ary.debitTransactionCount,
                                                                   transactionSummary.debitTransactionValue,transactionSummary.creditTransactionCo unt,transactionSummary.creditTransactionValue,
                                                                   appDelegate.userID]];*/
                //Add by sarvesh
                NSString *insertQuery = @"Insert into TransactionSummary(cardholdername,cardnumber,debittransactioncount,debittransac tionvalue,credittransactioncount,credittransactionvalue,cardreference,userid) values(";
                insertQuery =[insertQuery stringByAppendingString:[NSString stringWithFormat:@"'%@','%@',%d,%d,%d,%d,'%@',%@)",
                                                                   transactionSummary.cardholderName,transactionSummary.cardNumber,transactionSumm ary.debitTransactionCount,
                                                                   transactionSummary.debitTransactionValue,transactionSummary.creditTransactionCo unt,transactionSummary.creditTransactionValue,cardReference,
                                                                   appDelegate.userID]];
                NSLog(@"Insert Query for Transaction Summary is %@",insertQuery);
                [DataBase InsertIntoTable:insertQuery];
            //Read Update Data From DataBase and Refresh Table
                NSString *query = @"Select * from TransactionSummary where userid = ";
                query = [query stringByAppendingString:[NSString stringWithFormat:@"%@ and cardreference = '%@'",appDelegate.userID,cardReference]];
            NSLog(@"select query= %@",query);
                NSMutableArray *temp=[DataBase getTransactionSummaryTableData:query];
                if([temp count] > 0)
                    transactionsummary = (TransactionSummaryData*)[temp objectAtIndex:0];
                    [keyArray removeAllObjects];
                    [valueArray removeAllObjects];
                [self getrowcount];
                [table reloadData];
    -(void)viewDidAppear:(BOOL)animated
        CGFloat navBarHeight = 50.0f;   
        CGRect frame = CGRectMake(0.0f, 20.0f, 320.0f, navBarHeight);
        [self.navigationController.navigationBar setFrame:frame];
        [super viewDidAppear:animated];
    -(IBAction)BacktoView
        NSLog(@"in back function..TrasactionSummaryDetail");
        SelectionScreenViewController *screenView=[[SelectionScreenViewController alloc] initWithNibName:@"SelectionScreenViewController" bundle:nil];
        [self.navigationController popViewControllerAnimated:YES];
        [screenView release];
    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
        return UITableViewCellEditingStyleNone;
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
        return 1;
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
        return cellHeightForGroupedTable;
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
        if(section == 0)
            return [keyArray count];
        else       
            return 0;
    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
        NSString *title = nil;
        switch (section){
            case 0:{
                //title = @"Summary Details";
                break;
        return title;
    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
        if ([self tableView:tableView titleForHeaderInSection:section] != nil) {
            return tableHeaderHeight;
        else {
            // If no section header title, no section header needed
            return 0;
    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
        NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
        if (sectionTitle == nil) {
            return nil;
        // Create label with section title
        UILabel *label = [[[UILabel alloc] init] autorelease];
        label.frame = CGRectMake(20, 6, 300, 30);
        label.backgroundColor = [UIColor clearColor];
        label.textColor = HeaderTextColor;
        label.shadowColor = HeaderTextShadowColor;
        label.shadowOffset = CGSizeMake(0.0, 1.0);
        label.font = HeaderTextFontSize;
        label.text = sectionTitle;
        // Create header view and add label as a subview
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320,60)];
        [view autorelease];
        [view addSubview:label];
        return view;
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        UITableViewCell *cell = nil;
        NSString *cellIdentifier;
        cellIdentifier = @"SectionsTableIdentifier";
        int row = [indexPath row];
        CGRect nameLabelRect = CGRectMake(19 , 8, 240, 29);
        CGRect cardlabelRect = CGRectMake(19,31,240,15);
        UILabel *nameLabel = [[UILabel alloc] initWithFrame:nameLabelRect];
        UILabel *cardnumber = [[UILabel alloc] initWithFrame:cardlabelRect];
        cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        if(cell == nil){
            cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:cellIdentifier] autorelease];
        // Remove all subview from cell content view
        for (UIView *view in cell.contentView.subviews){
            [view removeFromSuperview];
         [cell setAccessoryType:UITableViewCellAccessoryNone];
        [nameLabel setTextColor:firstLabelFontColor];
        [nameLabel setFont:firstLabelFont];
        [nameLabel setFont:firstLabelFontSize];
         nameLabel.textAlignment = UITextAlignmentLeft;
         nameLabel.text = [NSString stringWithFormat:@"%@ : %@",[keyArray objectAtIndex:row],[valueArray objectAtIndex:row]];
         [cell.contentView addSubview: nameLabel];
         cell.selectionStyle = UITableViewCellSelectionStyleNone;
        [cell setBackgroundColor:[UIColor clearColor]];
        [cell setBackgroundColor:TableViewCellColor];
        [nameLabel setBackgroundColor:[UIColor clearColor]];
        [cardnumber setBackgroundColor:[UIColor clearColor]];
        [cardnumber release];
        [nameLabel release];
        return cell;
    // Override to allow orientations other than the default portrait orientation.
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceO rientation {
        // Return YES for supported orientations
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    - (void)didReceiveMemoryWarning {
        // Releases the view if it doesn't have a superview.
        [super didReceiveMemoryWarning];
        // Release any cached data, images, etc that aren't in use.
    - (void)viewDidUnload {
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
    - (void)dealloc {
        [table release];
        [waitIndicator release];
        [keyArray release];
        [valueArray release];
        [transactionsummary release];
        [super dealloc];
    @end

    This is the user-to-user tech support site.  For carrier issues go to the Dev forums.
    You might want to note that the current iOS is 4.3.3, and the current SDK is 4.3 and XCode 4.0.2

  • Random numbers without duplicates

    Hello,
    I'm having trouble locating an explained example for selecting a set of random numbers without duplicates. Specifically, I'm working on this example from Ivor Horton's Beginning Java, chapter 3.
    3. A lottery program requires that you select six different numbers from the integers 1-49. Write a program to do this for you and generate five sets of entries.
    This is not homework, I'm just trying to teach myself Java to eventually work my way up to servlets and JSPs.
    This is what I have so far. I tried to use array sorting but it didn't work (the first three numbers in my entries was always 0), so I commented out that part. I've included sample output after the code. I don't necessarily need the exact code although that would be nice; I just need at least an explanation of how to go about making sure that if a number has been picked for an entry, not to pick it again.
    Thanks for any help,
    javahombre
    package model;
    import java.util.Random;
    import java.lang.Math.*;
    import java.util.Arrays;
    public class Lottery {
    public static void main(String[] args) {
    // Lottery example.
    // We need the following data:
    // - An integer to store the lottery number range (in this case 59).
    // - A mechanism to choose a number randomly from the range.
    // - An array to store the entries (6 different numbers per entry).
    // - A loop to generate 5 sets of entries.
    int numberRange = 59;
    int currentPick = 0;
    int[] entry = new int[6]; // For storing entries.
    //int slot = -1; // For searching entry array.
    Random rn = new Random();
    for (int n = 0; n < 5; n++)
    // Generate entry.
    for (int i = 0; i < 6; i++)
    currentPick = 1 + Math.abs(rn.nextInt()) % numberRange;
    //Arrays.sort(entry);
    //slot = Arrays.binarySearch(entry, currentPick);
    //System.out.println("i: " + i + "\t| slot: " + slot + "\t| pick: " + currentPick + "\t| compare: " + (slot < 0));
    // Add the current pick if it is not already in the entry.
    //if (slot < 0)
    entry[i] = currentPick;
    System.out.println("pick entered: " + currentPick);
    // Output entry.
    System.out.print("Entry " + (n + 1) + ": ");
    for (int j = 0; j < 6; j++)
    System.out.print(entry[j] + "\t");
    System.out.println("");
    // Set the array contents back to 0 for next entry.
    Arrays.fill(entry,0);
    Sample output (notice duplicates, as in Entry 3):
    pick entered: 11
    pick entered: 29
    pick entered: 33
    pick entered: 8
    pick entered: 14
    pick entered: 54
    Entry 1: 11     29     33     8     14     54     
    pick entered: 51
    pick entered: 46
    pick entered: 25
    pick entered: 30
    pick entered: 44
    pick entered: 22
    Entry 2: 51     46     25     30     44     22     
    pick entered: 49
    pick entered: 39
    pick entered: 9
    pick entered: 6
    pick entered: 46
    pick entered: 46
    Entry 3: 49     39     9     6     46     46     
    pick entered: 23
    pick entered: 26
    pick entered: 2
    pick entered: 21
    pick entered: 51
    pick entered: 32
    Entry 4: 23     26     2     21     51     32     
    pick entered: 27
    pick entered: 48
    pick entered: 19
    pick entered: 10
    pick entered: 8
    pick entered: 18
    Entry 5: 27     48     19     10     8     18     

    NOTE: the array reference to [ i ] seems to be misinterpreted as italics by the posting form. I've reposted the message here, hopefully it will show the code properly.
    Thanks again,
    javahombre
    Hello,
    I'm having trouble locating an explained example for
    selecting a set of random numbers without duplicates.
    Specifically, I'm working on this example from Ivor
    Horton's Beginning Java, chapter 3.
    3. A lottery program requires that you select six
    different numbers from the integers 1-49. Write a
    program to do this for you and generate five sets of
    entries.
    This is not homework, I'm just trying to teach myself
    Java to eventually work my way up to servlets and
    JSPs.
    This is what I have so far. I tried to use array
    sorting but it didn't work (the first three numbers in
    my entries was always 0), so I commented out that
    part. I've included sample output after the code. I
    don't necessarily need the exact code although that
    would be nice; I just need at least an explanation of
    how to go about making sure that if a number has been
    picked for an entry, not to pick it again.
    Thanks for any help,
    javahombre
    package model;
    import java.util.Random;
    import java.lang.Math.*;
    import java.util.Arrays;
    public class Lottery {
    public static void main(String[] args) {
    // Lottery example.
    // We need the following data:
    // - An integer to store the lottery number range (in
    this case 59).
    // - A mechanism to choose a number randomly from the
    range.
    // - An array to store the entries (6 different
    numbers per entry).
    // - A loop to generate 5 sets of entries.
    int numberRange = 59;
    int currentPick = 0;
    int[] entry = new int[6]; // For storing entries.
    //int slot = -1; // For searching entry
    array.
    Random rn = new Random();
    for (int n = 0; n < 5; n++)
    // Generate entry.
    for (int i = 0; i < 6; i++)
    currentPick = 1 + Math.abs(rn.nextInt()) %
    numberRange;
    //Arrays.sort(entry);
    //slot = Arrays.binarySearch(entry, currentPick);
    //System.out.println("i: " + i + "\t| slot: " + slot +
    "\t| pick: " + currentPick + "\t| compare: " + (slot <
    0));
    // Add the current pick if it is not already in the
    entry.
    //if (slot < 0)
    entry[ i ] = currentPick;
    System.out.println("pick entered: " + currentPick);
    // Output entry.
    System.out.print("Entry " + (n + 1) + ": ");
    for (int j = 0; j < 6; j++)
    System.out.print(entry[j] + "\t");
    System.out.println("");
    // Set the array contents back to 0 for next entry.
    Arrays.fill(entry,0);
    Sample output (notice duplicates, as in Entry 3):
    pick entered: 11
    pick entered: 29
    pick entered: 33
    pick entered: 8
    pick entered: 14
    pick entered: 54
    Entry 1: 11     29     33     8     14     54
    pick entered: 51
    pick entered: 46
    pick entered: 25
    pick entered: 30
    pick entered: 44
    pick entered: 22
    Entry 2: 51     46     25     30     44     22
    pick entered: 49
    pick entered: 39
    pick entered: 9
    pick entered: 6
    pick entered: 46
    pick entered: 46
    Entry 3: 49     39     9     6     46     46
    pick entered: 23
    pick entered: 26
    pick entered: 2
    pick entered: 21
    pick entered: 51
    pick entered: 32
    Entry 4: 23     26     2     21     51     32
    pick entered: 27
    pick entered: 48
    pick entered: 19
    pick entered: 10
    pick entered: 8
    pick entered: 18
    Entry 5: 27     48     19     10     8     18

  • How to fill an array with random numbers

    Can anybody tell me how I can fill an array with thousand random numbers between 0 and 10000?

    import java.util.Random;
    class random
         static int[] bull(int size) {
              int[] numbers = new int[size];
              Random select = new Random();
              for(int i=0;i<numbers.length;i++) {
    harris:
    for(;;) {
    int trelos=select.nextInt(10000);
    numbers=trelos;
                        for(int j=0;j<i;j++) {
    if(trelos==numbers[j])
    continue harris;
    numbers[i]=trelos;
    break;
    return numbers;
    /*This method fills an array with numbers and there is no possibility two numbers to be the
         same*/
    /*The following method is a simpler method,but it is possible two numbers to be the same*/
    static int[] bull2(int size) {
         int[] numbers = new int[size];
    Random select = new Random();
    for(int i=0;i<numbers.length;i++)
              numbers[i]=select.nextInt(9);
              return numbers;
         public static void main(String[] args) {
    int[] nikos = random.bull(10);
    int[] nikos2 = random.bull2(10);
    for(int i=0;i<nikos.length;i++)
    System.out.println(nikos[i]);
    for(int i=0;i<nikos2.length;i++)
    System.out.println(nikos2[i]);

  • 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));

  • Random Numbers not playing fair!

    Hi All.
    Can anyone explain why I keep getting the same number out of the Random class? Each time I run my program, I get a different number, but it then repeats that same 'random' number. I've tried using the Math.random and that didn't seem to work either.
    Thanks
    Dr Nick

    This "repeating the same number" problem of Random is
    usually because it's instantiated many times in a
    loop. Random takes its seed from the system clock with
    a resolution of 1 millisecond. If random is
    instantiated many times during 1 millisecond it will
    use the same seed and thus deliver the same random
    numbers.That's all true, but he said he experienced this with java.lang.Math.random() which reuses the same random number generator. Here's the source for it:
        public static double random() {
            if (randomNumberGenerator == null) initRNG();
            return randomNumberGenerator.nextDouble();
        }"randomNumberGenerator" is static.

  • How do you generate multiple random numbers between 1 and 49

    I am new at mac programming and I want to make an iPhone app with the free SDK. What I would like to try is a random number generator. I imagine it as when the user clicks a button 6 random numbers from 1 to 49 would appear in a label or another control. If someone could please give me the code that would place these randomized numbers in a label I would greatly appreciate it. I know how to link all the controls together, I just need the code. Thank-you to anyone that can help!

    semi-sudo code goes here
    --prepare and array which will have number from 0 to 49
    --loop thru the array like this
    int i=0
    for (i; i<=49; i++) {
    int a=arc4random() % 49] ;
    int b=arc4random() % 49];
    --here exchange the objects so that they are shuffled
    [myArray exchangeObjectAtIndex:a withObjectAtIndex:b];

  • Random Numbers with Objective-C

    Hey Guys,
    I'm creating a blackjack program and I need to randomize 52 numbers, ensuring not to repeat any number.
    I know I can use the following to generate a number between 1-52, but I need the to eliminate the possibility of the same card being drawn twice:
    cardNumber = arc4random() % 52 + 1;
    Any idea on how I would do this? Code example would be helpful!
    Thanks,
    Justin

    Hi Justin -
    Justin Carman wrote:
    I'm creating a blackjack program and I need to randomize 52 numbers, ensuring not to repeat any number.
    I would initialize an array (the deck) with the card values, then use your random number as the index into the array. Each time a card is chosen just remove its value from the deck and decrement the modulus of the random numbers. NSMutableArray makes a nice deck for this purpose since its count is automatically decremented each time a value is removed. E.g.:
    // AppController.m
    #import "AppController.h"
    #define N_DECK 52
    @implementation AppController
    @synthesize cardArray; // @property (nonatomic, retain) NSMutableArray *cardArray;
    - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    self.cardArray = [NSMutableArray arrayWithCapacity:N_DECK];
    - (IBAction)newDeck:(id)sender {
    [cardArray removeAllObjects];
    for (int i = 0; i < N_DECK; i++) {
    [cardArray addObject:[NSNumber numberWithInt:i+1]];
    // NSLog(@"newDeck: cardArray=%@", cardArray);
    - (IBAction)getCard:(id)sender {
    // check the array
    int count = [cardArray count];
    assert(count <= N_DECK);
    if (count < 1) {
    NSLog(@"getCard: Empty deck");
    return;
    NSLog(@"getCard: count=%d", count);
    // select a card from the array
    int index = arc4random() % count;
    NSNumber *selected = [cardArray objectAtIndex:index];
    NSLog(@"getCard: index=%d selected=%@", index, selected);
    // print the value of the selected card
    int card = [selected intValue];
    NSLog(@"getCard: card=%d", card);
    // remove the selected card from the array
    [cardArray removeObjectAtIndex:index];
    // note selected NSNumber object has been released
    // NSLog(@"getCard: cardArray=%@", cardArray);
    @end
    For extra credit you might want to wrap the above in a custom Deck class.
    Hope that helps!
    - Ray

  • Create a congruential random numbers

    I want to create a congruential random numbers generator in java:
    Below is the formula for it.
    ri+1=(a*ri+b) mod M .
    How can I use Math class for this?

    Your guess w.r.t. a and b being constants is right. An ordinary multiple congruence random number
    generator simply looks as you described:
    x[n+1]= (a*x[n]+b)%M
    But there's a bit more to it: a and b have to be relatively prime, i.e. gcd(a, b) == 1 and the same counts
    for both a and b w.r.t. M, i.e. gcd(a, M) == 1 and gcd(b, M) == 1. Only then the 'cycle length' of your
    generator will be maximal. In practice M is a power of two (2^32 comes to mind). Here's some code:public class MGRNG {
       private int a, b, M;
       private int seed;
       // ctors
       MGRNG(int a, int b, int M) { this(a, b, M, 1); }
       MGRNG(int a, int b, int M, int seed) {
          this.a= a;
          this.b= b;
          this.M= M;
          this.seed= seed;
       // next pseudo random number
       public int next() {
          seed= (a*seed+b)%M;
          return seed;
    } kind regards,
    Jos

Maybe you are looking for