• #### David

Sorry, the code servers are currently experiencing difficulties. Please try again in a short while. Nan-da-toooo ?!

• #### David

/**
Basically the idea is to compare each value for an index against
//all the values of the rest of indexes, so basically staying fixed
//on one index (i) while iterating through the next (j), an example is

• #### David

Please update with a second hint with further insight!

• #### Learneroo

@David, it looks like your code needs some fixes. E.g. do you reset `count` for each number...
If you want extra support and content, consider membership on learneroo for \$25.

• #### David

Thanks much for your prompt answer, i wasn't resetting the counter, now my mind is more aware for that in the future... At the end i ended up thinking inside the box {1 to 5} rather than outside {random amount of numbers} to fit to this exercise....

Thanks and best regards.

• #### thales

a solution , this was very hard!

my code

• #### Bernard Mitchell

Can I get another hint on this one I've tried to create another array but I'm not sure about how to keep track of the mode. Thanks

• #### Learneroo

@Bernard, all the grades are integers 1 to 5, any way to keep track of them? A solution would be to create an array of size 6 where the index represents the grade and the value represents that

• #### Bernard Mitchell

I thought about this earlier but dismissed it , can you have two loops going at the same time, a loop within a loop is what I mean?

• #### Learneroo

You can have nested loops (one loops inside another), but that's not used in the hinted-to solution, which uses two separate loops. (You can solve it another way if you prefer.)

• #### Bernard Mitchell

So I understand that the zeros in the new array are just empty slots right? I still don't understand how you select the number that repeats the most. So far I've done...

``````int [] a= new int [6];
for(int b=0;b<a.length-1;b++){
int c=ar[b];
``````
• #### Learneroo

Your displayed code above doesn't actually do anything. The goal is to have an array at the end that contains the frequency of each number (1-5) from the original array. You can then go through

• #### Bernard Mitchell

``````int[] an = new int [6];// an ={0,0,0,0,0,0}
int c=0;
int d=ar.length-1;
while(c<an.length-1){
d=d-1;
if(c!=ar[d]){
an[c]=0;
}
``````
• #### Learneroo

Java doesn't provide a built-in method for printing an Array's contents. You can either use an ArrayList of create your own method like this one:

``````static void printArray(int[] ar){
for(int n: ar)
System.out.print(n+" ");
}
``````
• #### Bernard Mitchell

``````int[] an = new int [6];// an ={0,0,0,0,0,0}
int c=0;
int d=ar.length-1;
while(c<an.length-1){
d=d-1;
if(c!=ar[d]){
an[c]=0;
}
``````
• #### Learneroo

1. Once Java reaches a true statement in an if-else-if block, it stops checking the remaining else-if statements (they're only checked if the previous statements were false, that's why it says "else if").
2. Any code inside a while-loop can change the value of any variable, including any code in an if-statement.
• #### Bernard Mitchell

I understand now, I never would have thought of that , especially not knowing about the +=. Just some feedback I feel like the lessons sometimes jump from do able to extremely hard. I feel like

• #### kerry2021

what does this error mean?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Main.doStuff(Main.java:9)
at Main.main(Main.java:33)

• #### Murat Han

Another solution: