Java 如何检查数组是否有两对不同的匹配值?
如果该方法可以找到两对不同的匹配Java 如何检查数组是否有两对不同的匹配值?,java,arrays,Java,Arrays,如果该方法可以找到两对不同的匹配int值,则应该返回true。因此,如果数组是{2,2,4,7,7},它应该返回true,因为它有两个2s和两个7s 但它仅适用于不同的对值。如果它是{2,2,2,2,5},它将返回false,因为它们不是不同的对值 编辑:这是我到目前为止对方法主体的了解: public static boolean hasTwoPair(int[] arrayOfInts){ } boolean pairFound=false; int对值; for(int s=0;
int
值,则应该返回true。因此,如果数组是{2,2,4,7,7}
,它应该返回true,因为它有两个2s和两个7s
但它仅适用于不同的对值。如果它是{2,2,2,2,5}
,它将返回false,因为它们不是不同的对值
编辑:这是我到目前为止对方法主体的了解:
public static boolean hasTwoPair(int[] arrayOfInts){
}
boolean pairFound=false;
int对值;
for(int s=0;s
我不知道接下来该怎么办 由于您实际上没有尝试过任何代码,我将介绍如何解决此问题,但没有实际的代码 从初始化为
false
的boolean
类pairFound
开始,当您找到第一对时,更改为true
。此外,还需要一个int
(pairValue
)来跟踪找到的第一对值(如果找到了)
遍历,寻找一对。如果找到一对,而pairFound
为false,则将pairFound
设置为true
,并将pairValue
设置为第一个找到的对的值。现在继续遍历
如果您找到一对且pairFound
为true
且该对为!=pairValue
,则返回true;
。如果您遍历所有内容,但尚未返回true
,则可以返回false
根据你最新的问题,你已经很接近了
boolean pairFound = false;
int pairValue;
for(int s = 0; s < arrayOfInts.length - 1; s++){
pairValue = arrayOfInts[s];
for(int c = s + 1; c < arrayOfInts.length; c++){
if(pairValue == arrayOfInts[c])
pairFound = true;
}
}
return false; //placeholder
boolean pairFound=false;
int pairValue=Integer.MIN\u值;
//或者ArrayFints基于上下文永远不会拥有的某些值
for(int s=0;s
由于您实际上没有尝试过任何代码,我将介绍如何解决此问题,但没有实际的代码
从初始化为false
的boolean
类pairFound
开始,当您找到第一对时,更改为true
。此外,您还需要一个int
(pairValue
)来跟踪找到的第一对值(如果您找到了)
遍历,寻找一对。如果找到一对,而pairFound
为false,则将pairFound
设置为true
,并将pairValue
设置为第一个找到的对的值。现在继续遍历
如果您找到一对且pairFound
为true
且该对为!=pairValue
,则返回true;
。如果您遍历所有内容,但尚未返回true
,则可以返回false
根据你最新的问题,你已经很接近了
boolean pairFound = false;
int pairValue;
for(int s = 0; s < arrayOfInts.length - 1; s++){
pairValue = arrayOfInts[s];
for(int c = s + 1; c < arrayOfInts.length; c++){
if(pairValue == arrayOfInts[c])
pairFound = true;
}
}
return false; //placeholder
boolean pairFound=false;
int pairValue=Integer.MIN\u值;
//或者ArrayFints基于上下文永远不会拥有的某些值
for(int s=0;s
由于您实际上没有尝试过任何代码,我将介绍如何解决此问题,但没有实际的代码
从初始化为false
的boolean
类pairFound
开始,当您找到第一对时,更改为true
。此外,您还需要一个int
(pairValue
)来跟踪找到的第一对值(如果您找到了)
遍历,寻找一对。如果找到一对,而pairFound
为false,则将pairFound
设置为true
,并将pairValue
设置为第一个找到的对的值。现在继续遍历
如果您找到一对且pairFound
为true
且该对为!=pairValue
,则返回true;
。如果您遍历所有内容,但尚未返回true
,则可以返回false
根据你最新的问题,你已经很接近了
boolean pairFound = false;
int pairValue;
for(int s = 0; s < arrayOfInts.length - 1; s++){
pairValue = arrayOfInts[s];
for(int c = s + 1; c < arrayOfInts.length; c++){
if(pairValue == arrayOfInts[c])
pairFound = true;
}
}
return false; //placeholder
boolean pairFound=false;
int pairValue=Integer.MIN\u值;
//或者ArrayFints基于上下文永远不会拥有的某些值
for(int s=0;s
由于您实际上还没有尝试过任何代码,我将
V #
- -
2 - 4
5 - 1
public static boolean hasTwoPair(Iterable<E> iterable)
public static <T> boolean hasTwoPair(T[] array)