Please support our Java advertiser: Lunarpages Java Web Hosting
Views: 5104 | Replies: 5
![]() |
•
•
Join Date: Jul 2005
Posts: 19
Reputation:
Rep Power: 4
Solved Threads: 0
Hi
I have searched this site for help with this and used an example of a lottery numbers program.
However, I need to modify it slightly but can't seem to get it right.
I would like to be able to generate random numbers between 0 and 100 (maybe negative oness as well). The code below just generates 7 numbers between 0 and 6 and I can't see where I need to adjust the code. If anyone could help me with this, I would be really grateful, even just an explaination so I can work it out myself would be great as I just can't see where it is saying only use those low 0 - 6 digits! :rolleyes:
// random number generator
import java.lang.Math;
// setting up array with random numbers 26 july 2005
public class myRandomNodes {
public static void main(String[] args)
{
new ranNumbers (7);
}
}
class myRanNumbers {
private int[] numbers;
public myRanNumbers (int n )
{
numbers = new int[n];
// initialise numbers
int i = 0;
while (i < n ) {
//int r = (int) (Math.random() * n);
// create a random integer between 1 and 100 inclusive
int r = (int) Math.floor(Math.random() * 100);
if (add (numbers, i, r)) {
++i;
}
}
show_all (numbers);
}
private boolean add (int [] list, int size, int val)
{
for (int i = 0; i < size; i++ ){
if (list[i] == val) {
return false;
}
}
list[size] = val;
return true;
}
private void show_all (int[] list)
{
for (int i = 0; i < list.length; i++ ) {
//System.out.print(list[i] + " ");
System.out.println("rounded number between 0 and 100 is ");
}
System.out.println();
}
}
I have searched this site for help with this and used an example of a lottery numbers program.
However, I need to modify it slightly but can't seem to get it right.
I would like to be able to generate random numbers between 0 and 100 (maybe negative oness as well). The code below just generates 7 numbers between 0 and 6 and I can't see where I need to adjust the code. If anyone could help me with this, I would be really grateful, even just an explaination so I can work it out myself would be great as I just can't see where it is saying only use those low 0 - 6 digits! :rolleyes:
// random number generator
import java.lang.Math;
// setting up array with random numbers 26 july 2005
public class myRandomNodes {
public static void main(String[] args)
{
new ranNumbers (7);
}
}
class myRanNumbers {
private int[] numbers;
public myRanNumbers (int n )
{
numbers = new int[n];
// initialise numbers
int i = 0;
while (i < n ) {
//int r = (int) (Math.random() * n);
// create a random integer between 1 and 100 inclusive
int r = (int) Math.floor(Math.random() * 100);
if (add (numbers, i, r)) {
++i;
}
}
show_all (numbers);
}
private boolean add (int [] list, int size, int val)
{
for (int i = 0; i < size; i++ ){
if (list[i] == val) {
return false;
}
}
list[size] = val;
return true;
}
private void show_all (int[] list)
{
for (int i = 0; i < list.length; i++ ) {
//System.out.print(list[i] + " ");
System.out.println("rounded number between 0 and 100 is ");
}
System.out.println();
}
}
•
•
Join Date: Nov 2004
Location: Netherlands
Posts: 5,752
Reputation:
Rep Power: 19
Solved Threads: 200
•
•
Join Date: Jul 2005
Posts: 19
Reputation:
Rep Power: 4
Solved Threads: 0
// random number generator
import java.lang.Math;
public class myRandomNodes
{
public static void main(String[] args)
{
new ranNumbers (7);
}
}
class myRanNumbers
{
private int[] numbers;
public myRanNumbers (int n )
{
numbers = new int[n];
// initialise numbers
int i = 0;
while (i < n )
{
int r = (int) Math.floor(Math.random() * 100);
if (add (numbers, i, r))
{
++i;
}
}
show_all (numbers);
}
private boolean add (int [] list, int size, int val)
{
for (int i = 0; i < size; i++ )
{
if (list[i] == val)
{
return false;
}
}
list[size] = val;
return true;
}
private void show_all (int[] list)
{
for (int i = 0; i < list.length; i++ )
{
System.out.print(list[i] + " ");
}
System.out.println();
}
}Hope it makes it a bit easier to read - sorry about the unformatting before :-|
•
•
Join Date: Jun 2004
Location: H4x0rville
Posts: 2,105
Reputation:
Rep Power: 9
Solved Threads: 18
Use the Random Class. It's more random than Math.random();
Be sure to add 1 if you want to reach 100.
import java.util.*;
public class RandomClassTest
{
public static void main(String[] args)
{
Random randNumGenerator = new Random();
int[] x = new int[7];
for (int i=0; i<x.length; i++)
{
x[i] = (randNumGenerator.nextInt(100)+1);
}
}
}Be sure to add 1 if you want to reach 100.
•
•
Join Date: Jun 2004
Posts: 604
Reputation:
Rep Power: 6
Solved Threads: 6
Hi everyone,
Could not have said it better myself
Richard West
•
•
•
•
Originally Posted by server_crash
Use the Random Class. It's more random than Math.random();
import java.util.*; public class RandomClassTest { public static void main(String[] args) { Random randNumGenerator = new Random(); int[] x = new int[7]; for (int i=0; i<x.length; i++) { x[i] = (randNumGenerator.nextInt(100)+1); } } }
Be sure to add 1 if you want to reach 100.
Could not have said it better myself
Richard West
Microsoft uses "One World, One Web, One Program" as a slogan.
Doesn’t that sound like "Ein Volk, Ein Reich, Ein Führer" to you, too?
— Eric S. Raymond
Tell me what type of software do you like and what would you pay for it
http://www.daniweb.com/techtalkforums/thread19660.html
Doesn’t that sound like "Ein Volk, Ein Reich, Ein Führer" to you, too?
— Eric S. Raymond
Tell me what type of software do you like and what would you pay for it
http://www.daniweb.com/techtalkforums/thread19660.html
![]() |
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)






Linear Mode