I'm new in Java. So, what I wanted to do, create a program that generates 25 random int values and for each value, using if-else statement to classify it as greater than, less than, or equal to a second randomly generated value. I wanted to use array to reach each element but I'm not sure how can I do besides using an array.
import java.util.Random;
public class main {
public static void main(String[] args){
Random rand = new Random();
int[] randNumber = new int[25];
for (int i = 0; i<25; i++){
randNumber[i] = rand.nextInt(100);
}
if (randNumber[i]<randNumber[i+1]){
System.out.println("Number " + randNumber[i] + "smaller than " + randNumber[i+1]);
}
else if(randNumber[i]>randNumber[i+1]){
System.out.println("Number" + randNumber[i] + "greater than" + randNumber[i+1]);
}else if(randNumber[i] == randNumber[i+1]){
System.out.println("Number " + randNumber[i] + "equal to " + randNumber[i+1]);
}else{
System.out.println("Wrong!");
}
}
}
I know that if-else part is completely wrong, but I couldn't figure out how to reach an array and compare them. When I compile it creates 25 random numbers but in the print part always shows
number x greater than 0
So, [i+1] consider as always zero.
Many thanks
UPDATE
Thanks to Dawood ibn Kareem's answer I ended up with creating 2 for loops.
for (int i = 0; i<25; i++){
randNumber[i] = rand.nextInt(100);
}
for(int i = 0; i<25; i++) {
if (randNumber[i] < randNumber[i + 1]) {
System.out.println("Number " + randNumber[i] + " smaller than " + randNumber[i + 1]);
} else if (randNumber[i] > randNumber[i + 1]) {
System.out.println("Number " + randNumber[i] + " greater than " + randNumber[i + 1]);
} else if (randNumber[i] == randNumber[i + 1]) {
System.out.println("Number " + randNumber[i] + " equal to " + randNumber[i + 1]);
} else {
System.out.println("Wrong!");
}
}
Output looks like this;
Number 47 equal to 47
Number 47 smaller than 90
Number 90 greater than 84
Number 84 greater than 50
Number 50 greater than 29
Number 29 smaller than 42
Number 42 smaller than 51
Number 51 smaller than 92
Number 92 greater than 8
Number 8 smaller than 31
Number 31 smaller than 87
Number 87 greater than 10
Number 10 smaller than 80
Number 80 greater than 56
Number 56 greater than 49
Number 49 smaller than 63
Number 63 greater than 33
Number 33 smaller than 64
Number 64 greater than 25
Number 25 smaller than 87
Number 87 greater than 16
Number 16 smaller than 65
Number 65 greater than 15
Number 15 smaller than 44
But then I have an error says;
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 25 at main.main(main.java:15)
Run the for loop 24 times instead of 25 times, since if i = 24, there is no array value at index randNum[24] (array indexes start at 0) (when you do i+1 inside the if statement).
for (int i = 0; i < 24; i++)
{
//your if-else blocks
}