Я хочу перемещать ложные элементы в пустом пространстве (как в модели сегрегации Шеллинга). Это массив .. (элементы в массиве расположены случайным образом)перемещение элементов в массиве до пустого местоположения
'X*''O'' ''X''O*'
'O''O'' '' ''X'
'O'' ''X''X''O*'
'X'' '' ''X''X'
'X''X''O*''X''O*'
элемент в точке (0,0), (0,4), (2,4), (4,2) , (4,4) являются ложными, потому что у него нет похожих элементов вокруг него (у меня есть * рядом с ним вам легче видеть). Я хочу переместить эти ложные элементы в пустое место '' в массиве. Его можно перенести в любое пустое место в массиве.
' ''O''X''X'' '
'O''O''O'' ''X'
'O''O''X''X'' '
'X''O''O''X''X'
'X''X'' ''X'' '
Это мой код.
//isArrGood is a method that checks if the element is false or true
//arr is 2D array that is being passed in the method
//store the false elements
char[] falseEle = new char[arr.length * arr[0].length];
for(int i=0; i<arr.length; i++){
for(int j=0; j<arr[i].length; j++){
if(!isArrGood(arr,i,j)){
falseEle[i] = arr[i][j];
}
}
}
//finds the blank space and replaces it with a false cell and finds a false cell and
//replace it with a blank space
for(int x=0; x<arr.length; x++){
for(int y=0; y<arr[x].length; y++) {
if (arr[x][y] == ' ') {
arr[x][y] = falseEle[x];
}
if(!isArrGood(arr,x,y){
arr[x][y] = ' ';
}
}
}
Это то, что я получаю.
текущий массив (arr) отправка метод есть. Ложные элементы этого массива в (1,0), (2,2), (3,2)
' ' 'X' 'X' 'X' 'X'
'O' ' ' 'X' 'X' ' '
' ' 'X' 'O' ' ' 'X'
'O' 'O' 'X' ' ' 'O'
'O' 'O' ' ' 'O' ' '
И это то, что я получаю
'' 'X' 'X' 'X' 'X'
'O' 'O' 'X' 'X' 'O'
'O' 'X' 'O' 'O' 'X'
'O' 'O' 'X' 'X' 'O'
'O' 'O' '' 'O' ''
массива на очень топ - это всего лишь пример того, что я пытаюсь сделать.
Так что ваша проблема/вопрос? –
переместите эти ложные элементы в пустые элементы в массиве – AP6
Да, но что не так с вашим текущим кодом? Можете ли вы предоставить сообщение об ошибке? Я уверен, что я не собираюсь копировать, вставлять, компилировать, а затем запускать свой код, чтобы выяснить, что случилось. –