1

I am currently just mocking about with Java. To get some learning in, and of course the easiest way to learn is by asking.

In this section I've created a loop to give me 50 random numbers. What I want to do, is to compare these numbers later on. That's why I want to move all the numbers into an array. I have no clue how. I've tried different stuff, but my syntax is wrong. Can somebody tell me how to do this?

Code:

package project.main;
import java.util.Random;

public class Main {

    public static int numbers[];

    public static final void main(String []args) {
        getRandom();
        recheckNumbers();
    }

    public static void getRandom() {

        Random RandomNumber = new Random();
        for(int i = 1; i <= 50; ++i){
            int randomInt = RandomNumber.nextInt(100);
            System.out.println("Generated : " + randomInt);
        }

    }

    public static void recheckNumbers() {
        if(numbers[0] < numbers[1]) {
            System.out.println("numbers[0] is biggest");
        } else {
            System.out.println("numbers[1] is biggest");
        }
    }

}

I just rewrote it a bit. Im now running into another issue at line 14. which is the numbers[i] = randomInt part.

Heres the new code..

package project.main;
import java.util.Random;

public class Main {


    public static int numbers[];

public static final void main(String []args) {
    Random RandomNumber = new Random();

    for(int i = 0; i <= 49; ++i){
        int randomInt = RandomNumber.nextInt(100);
        numbers[i] = randomInt;

    }



}

}

3 Answers 3

2
   for(int i = 0; i <= 49; ++i){
        int randomInt = RandomNumber.nextInt(100);
        numbers[i] = randomInt;
        System.out.println("Generated : " + randomInt);

    }

After that you can loop through to get number

  for(int i = 0; i <= 49; ++i){

        System.out.println("Generated : " + numbers[i]);

    }

Solution to new question

import java.util.Random;
public class Main {
public static int[] numbers = new int[50];
public static void main(String[] args) {


    Random RandomNumber = new Random();

    for(int i = 0; i <= 49; ++i){
        int randomInt = RandomNumber.nextInt(100);
        numbers[i] = randomInt;

    }
}
}
0

The solution lemon provided is correct. Additionally I want to point you to a mistake you did in your recheckNumbers method. You check if numbers[0] is smaller than numbers[1] and print out that numbers[0] is the biggest in the if block. You should switch the output from the if and else block to return the correct answer.

1
  • I did made that change but forget to mention that any array needs to start from 0 ... thanks for correction
    – Bender
    Commented Sep 16, 2014 at 8:38
0

You need to say the size of the array. Here is my solution to your problem:

public class Main {

    public static int numbers[] = new int[50];

    public static void main(String[] args) {
        getRandom();
        recheckNumbers();
    }

    public static void getRandom(){
        Random randomNumber = new Random(); // variables should start with lower case
        for(int i = 0; i < 50; i++){
            int randomInt = randomNumber.nextInt(100); // generate a random integer in the (0-99) interval
            System.out.println("Generated: " + randomInt); // print the generated number
            numbers[i] = randomInt; // put it in the array
        }
    }

    public static void recheckNumbers(){
        if(numbers[0] > numbers[1]){
            System.out.println("numbers[0] is bigger");
        } else {
            System.out.println("numbers[1] is bigger");
        }
    }

}

Hope it helps :)

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.