我的输入数字是一个int.但输入数字必须在-2055到2055的范围内,我想通过使用正则表达式来检查.
那么无论如何要写一个正则表达式来检查一个数字是否在(-2055,2055)中?
if语句用于检查数字是否在范围内更容易.但是我正在写一个解释器,所以我应该使用正则表达式来检查输入数字
该方法的目的removeDuplicate(ArrayList<Card> l)是根据card_value类中的属性删除重复的对象Card,然后将它们添加到ArrayList并返回arr.
但我的程序返回错误:NoSuchElementException在行
dum.add((Card) it.next());
我不知道这里发生了什么,因为我打印出next()方法返回的对象,它完美打印出来.
有人请告诉我为什么我在下面的实现中出错:
private ArrayList<Card> removeDuplicate(ArrayList<Card> l){
int end = l.size();
Set<Card> set = new HashSet<>();
for(int i = 0; i < end; i++){
set.add(l.get(i));
}
ArrayList<Card> dummy = new ArrayList<>();
Iterator it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
dummy.add((Card) it.next());
}
return dummy;
}
Run Code Online (Sandbox Code Playgroud)
这些是覆盖方法:
@Override
public int hashCode() {
int hash = 5;
hash = 97 * hash + this.card_value;
return hash;
}
@Override
public boolean …Run Code Online (Sandbox Code Playgroud)