【发布时间】:2020-04-22 15:32:25
【问题描述】:
我正在使用在线 ide geeksforgeeks。在这里,我试图使用 TreeSet 并传递一个 Comparator 对象来解决这个问题。问题如下:
给定一个大小为 N 的数组 A。用数组中的下一个最大元素(其右侧最大的元素)替换每个元素。另外,由于最后一个元素旁边没有元素,因此将其替换为 -1。
对 t 个测试用例执行此操作: 这是我写的代码:
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG {
static Scanner sc=new Scanner(System.in);
public static void main (String[] args) {
//code
int t=sc.nextInt();
for(int i=0;i<t;i++)
display();
}
static void display(){
int n=sc.nextInt();
Set<Integer> ts=new TreeSet<Integer>(new myComparator());
int a;
for(int i=0;i<n;i++){
a=sc.nextInt();
ts.add(a);
}
Iterator itr=ts.iterator();
int count=0;
while(itr.hasNext()){
if(count==0)
continue;
else{
System.out.print(itr.next()+" ");
}
}
System.out.print(-1);
System.out.println();
}
}
class myComparator implements Comparator<Integer>{
public int compare(Integer obj1,Integer obj2){
if(obj2>obj1)
return 1;
else if(obj2<obj1)
return -1;
else
return 0;
}
}
我的代码抛出的错误:
Exception in thread "main" java.util.NoSuchElementException
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 GFG.display(File.java:20)
at GFG.main(File.java:13)
请更正代码。 Code
【问题讨论】:
-
NoSuchElementException 的 javadoc 是怎么说的?
标签: java runtime-error comparator treeset nosuchelementexception