A number generator, but within the range that the user enters. Java

Hi i am new to java and stackoverflow. I am trying to create a program that asks the user to enter a range and it will generate a list of random numbers within the user's range. It looks like this.

package numbergenerator;

import java.util.Random;
import java.util.Scanner;

public class numbergenerator {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        Random r = new Random();

        int int1;
        int int2;
        int answer;
        int numbers;


        System.out.println("Enter your min range number: ");
        int1 = s.nextInt();

        System.out.println("Enter your max range number: ");
        int2 = s.nextInt();

        System.out.println("How many numbers do ya want? ");
        numbers = s.nextInt();

        for(int counter=0; counter<numbers; counter++);
        answer = int1 < r > int2;
        //this doesn't work. 
        //And i know it is improper syntax, but then what is the proper syntax?
        System.out.println(answer);

    }

}

      

I am having trouble getting a random number. Let me know if you have an idea. Alternatively, I could use a for loop, but just let me know. Thank you.

+3


source to share


4 answers


try it



  package numbergenerator;

    import java.util.Random;
    import java.util.Scanner;

    public class numbergenerator {
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            Random r = new Random();

            int int1;
            int int2;
            int answer;
            int numbers;


            System.out.println("Enter your min range number: ");
            int1 = s.nextInt();

            System.out.println("Enter your max range number: ");
            int2 = s.nextInt();

            System.out.println("How many numbers do ya want? ");
            numbers = s.nextInt();

            for(int counter=0; counter<numbers; counter++){
            answer =r.nextInt(int2-int1)+int1;

            System.out.println(answer);
}

        }

    }

      

0


source


Calculate the range of numbers you need ...

// Make sure we only have positive numbers...not sure if that a requirement
// bet lets make life easier
int int1 = Math.abs(int1);
int int2 = Math.abs(int2);
int range = Math.abs(int2 - int1); 

      

Calculate your random number in this range ...

int answer = r.nextInt(range);

      



Add your bottom range to it ...

answer += Math.min(int1, int2);

      

nb: You should be aware that this will only generate random numbers from min

to max - 1

. If you want to include max

, you need to add 1

to the range ...

+1


source


Say you have the following values:

int max;
int min;

      

If you want to get a new random number between max and min, you need to understand how the Random class works.

nextInt (int n) returns a number greater than or equal to zero and less than (but not equal to) n.

Therefore, if you want to get a number between max and min, including both, you will need to do the following:

Random r = new Random();
int randomNumber=r.nextInt(max-min+1)+min;

      

0


source


package numbergenerator;

import java.util.Random;
import java.util.Scanner;

public class numbergenerator {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        Random rn = new Random();

        int int1;
        int int2;
        int answer;
        int numbers;


        System.out.println("Enter your min range number: ");
        int1 = s.nextInt();

        System.out.println("Enter your max range number: ");
        int2 = s.nextInt();

        System.out.println("How many numbers do ya want? ");
        numbers = s.nextInt();

        for(int counter=0; counter<numbers; counter++);
        {
              int n = int1 - int2 + 1;
              int i = rn.nextInt() % n;
              randomNum =  int1 + i;
              System.out.println(randomNum );
        }
    }
}

      

0


source







All Articles