Question #57120

Hello! Exercise: Write a class called RandomGeneratorImproved that expands RandomGenerator, which is able to generate random numbers coming from the sets of: a. first numbers, b. powers of 2(not negative int), c. Fibonacci numbers and d. square numbers. Create 2 new methods that are similar to "nextInt" method like (public int nextPrime(int n)) and public int nextPrime(int low, int high)). If there is no prime number in that range, it should show a message saying that and return -1. In the same way you should do all the methods for a., b., c., d. Write a program to test it where the user asks for what kind of random number he wants and within what range (low, high) and the result of it is a RANDOM number. Do not use ARRAYS or any method that saves the numbers in lists. Thank you in advance!
1

Expert's answer

2016-01-19T08:28:41-0500

Answer on Question # 57120 – Programming – Java | JSP

package random_generator;
import java.util.Random;
public class RandomGenerator {
    public RandomGenerator() {
        // TODO Auto-generated constructor stub
    }
    // c
    public int fibanachiNumbers(int n) {
        int p = 0;
        if (n - 1 >= 0) {
            p = fibanachiNumbers(n - 1);
        }
        return n + p;
    }
    // b
    public int powerNumbers(int n) {
        return (int) Math.pow(2, n);
    }
    // a
    public int firstNumbers(int n) {
        Random r = new Random(n);
        return r.nextInt(n);
    }
    // d
    public int squereNumbers(int n) {
        Random r = new Random(n);
        return (int) Math.pow(r.nextInt(n), r.nextInt(n));
    }
}
package random_generator;
import java.util.Random;
public class RandomGeneratorImproved {
    public RandomGeneratorImproved() {
        // TODO Auto-generated constructor stub
    }
    public int nextPrime(int n) {
        int p;
        Random r = new Random();
        RandomGenerator g = new RandomGenerator();
        switch ((p = r.nextInt(3))) {
            case 0:
                // System.out.println(p);
                // System.out.println("1-");
                return g.firstNumbers(r.nextInt(n));
            case 1:
                // System.out.println(p);
                // System.out.println("2-");
                return g.powerNumbers(r.nextInt(n));
            case 2:
                // System.out.println(p);
                // System.out.println("3-");
                return g.fibanachiNumbers(r.nextInt(n));
            case 3:
                // System.out.println(p);
                // System.out.println("4-");
                return g.squareNumbers(r.nextInt(n));
        }
        return -1;
    }
    public int nextPrime(int low, int high) {
        Random r = new Random();
        int n = r.nextInt(100), p = 0;
        RandomGenerator g = new RandomGenerator();
        switch ((p = r.nextInt(3))) {
            case 0:
                // System.out.println(p);
                // System.out.println("1-");
                p = g.firstNumbers(r.nextInt(n));
                break;
            case 1:
                // System.out.println(p);
                // System.out.println("2-");
                p = g.powerNumbers(r.nextInt(n));
                break;
            case 2:
                // System.out.println(p);
                // System.out.println("3-");
                p = g.fibanachiNumbers(r.nextInt(n));
                break;
            case 3:
                // System.out.println(p);
                // System.out.println("4-");
                p = g.squareNumbers(r.nextInt(n));
                break;
        }
        if (p < high) {
            if (p > low) {
                return p;
            }
        }
        System.out.println("There is no prime number in that range " + p);
        return -1;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        RandomGeneratorImproved p = new RandomGeneratorImproved();
        System.out.println(p.nextPrime(10));
        System.out.println(p.nextPrime(5, 130000));
    }
}


http://www.AssignmentExpert.com/

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!
LATEST TUTORIALS
APPROVED BY CLIENTS