我需要在程序中实现重复的搜索方法,但出现错误。 如果我注释掉重复的搜索部分,则程序运行正常。
错误(我注释掉重复的搜索部分):
do{
System.out.print("Please enter an integer or -1 to stop: ");
input=Integer.parseInt(scan.nextLine()); //parse library function
/**
* for(int i=0; i<A.length; i++){
* for(int j=i+1; j<A.length; j++{
* if(A[i].equals(A[j]))
* System.out.println("Duplicate input. Please enter another
value: ");
* }
* }
*/
if(input != -1) //if input is
Display.userInput(input);
}
while(input != -1);
答案 0 :(得分:0)
尝试一下。
do{
System.out.print("Please enter an integer or -1 to stop: ");
input=Integer.parseInt(scan.nextLine());
boolean flag = true;
for(int i=0; i<A.length; i++){
if(A[i].equals(input)) {
System.out.println("Duplicate input. Please enter another value: ");
flag = false;
break;
}
}
if(!flag) {
continue;
}
if(input != -1) //if input is
Display.userInput(input);
}
while(input != -1);
答案 1 :(得分:0)
int A[] = {1, 5, 9, 5, 6};
if (Arrays.stream(A).boxed()
.collect(Collectors.groupingBy(Function.identity()))
.entrySet()
.stream()
.map(Map.Entry::getValue)
.map(Collection::size)
.anyMatch(s -> s > 1)) {
System.out.println("Duplicate input. Please enter another value:");
}