Runtime Error in RECNDNOS

This code was running well in eclipse but when I tried to compile it online it showed this error.

at java.util.Scanner.throwFor(Scanner.java:862)

at java.util.Scanner.next(Scanner.java:1485)

at java.util.Scanner.nextInt(Scanner.java:2117)

at java.util.Scanner.nextInt(Scanner.java:2076)

at Main.main(Main.java:15)

CODE :
import java.util.*;
//Divya…
class Solution{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t–>0){
int n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}
solve(a,n);
}
}
public static void solve(int a[],int n){
Map<Integer,Integer>map=new HashMap<>();
for(int i=0;i<n;i++){
if(map.isEmpty() || !map.containsKey(a[i])){
int t=a[i],p=2,count=1;
while(i+p<n){
if(a[i]==a[i+p]){
map.put(a[i],map.getOrDefault(a[i],0)+1);
p=p+2;}
else
p=p+1;
}

``````            }
}
Map.Entry<Integer,Integer> max=null;
for (Map.Entry<Integer,Integer> entry : map.entrySet()){
if(max==null || entry.getValue().compareTo(max.getValue())>0)
max=entry;
}
System.out.println(max.getKey());
}
``````

}

It’s easy to trigger a runtime error in your code; consider the test input:

``````1
2
1 2
``````

I’ve no idea how you’re getting a `java.util.NoSuchElementException`, though, unless you’re trying to “Run” without Providing “Custom Input”.

1 Like

@ssjgz
Thanks for suggestion ,
i have made changes and now it work fine on your test case but again it is showing same error.

import java.util.*;
//Aryan…
class Solution{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t–>0){
int n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}
solve(a,n);
}

``````}
public static void solve(int a[],int n){
Map<Integer,Integer>map=new HashMap<>();
for(int i=0;i<n;i++){
if(map.isEmpty() || !map.containsKey(a[i])){
int t=a[i],p=2,count=1;
map.put(a[i],map.getOrDefault(a[i],0)+1);
while(i+p<n){
if(a[i]==a[i+p]){
map.put(a[i],map.getOrDefault(a[i],0)+1);
p=p+2;}
else
p=p+1;
}

}
}
Map.Entry<Integer,Integer> max=null;
for (Map.Entry<Integer,Integer> entry : map.entrySet()){
if(max==null || entry.getValue().compareTo(max.getValue())>0)
max=entry;
}
System.out.println(max.getKey());
}
``````

}