Java 在5个不同的骰子中找到2对不同的骰子
我有一个5个骰子的数组,我正在尝试检查它,看看是否有两个不同的对。假设我有(1,1,2,2,3)或(3,3,4,4,5),我希望它返回true。我怎样才能做到这一点呢?让第一个骰子是,int[]firstDice=newint[]{1,1,2,2,3} 设第二个骰子为,int[]secondDice=newint[]{3,3,4,4,5} 要检查每对骰子是否不同,只需同时对它们进行迭代(前提是骰子数量相同)。下面是一个方法示例:Java 在5个不同的骰子中找到2对不同的骰子,java,arrays,duplicates,frequency,dice,Java,Arrays,Duplicates,Frequency,Dice,我有一个5个骰子的数组,我正在尝试检查它,看看是否有两个不同的对。假设我有(1,1,2,2,3)或(3,3,4,4,5),我希望它返回true。我怎样才能做到这一点呢?让第一个骰子是,int[]firstDice=newint[]{1,1,2,2,3} 设第二个骰子为,int[]secondDice=newint[]{3,3,4,4,5} 要检查每对骰子是否不同,只需同时对它们进行迭代(前提是骰子数量相同)。下面是一个方法示例: private boolean checkDifferentDi
private boolean checkDifferentDice(int [] firstDice, int [] secondDice){
boolean result = true;
for (int i = 0; i < firstDice.length; i++)
{
if (firstDice[i] == secondDice[i])
return false;
}
return result;
}
private boolean checkdice(int[]firstDice,int[]secondDice){
布尔结果=真;
for(int i=0;i
这很简单。假设你有一个数组,ARR〔5〕={1,1,2,2,3 };
您可以使用Set来解决此问题。我正在使用count变量跟踪这对
1,1,2,2,3-->我正在逐个迭代数组。当我第一次得了1分时,我就投进了一套。第二次,签入集合,若它包含,那个么它必须是一对
public bool findSet(int[] arr)
{
HashSet<Integer> set = new HashSet<>();
int count = 0;
for(int n : arr)
{
if(set.contains(n))
count++;
else
set.add(n);
}
return count == 2;
}
public bool findSet(int[]arr)
{
HashSet=newhashset();
整数计数=0;
用于(整数n:arr)
{
如果(集合包含(n))
计数++;
其他的
添加(n);
}
返回计数==2;
}
请先尝试一些东西,然后发布一个带有试用部分的问题。很好地为OP提供了代码。这正是为什么要这样做的原因!