Поиск и изменение индекса массива Java ООП - PullRequest
0 голосов
/ 09 октября 2018

Как вы можете сделать метод, чтобы найти конкретную строку / столбец и изменить его, например, я хочу найти 1,3,13 и изменить его на 2,1,1?

public static void main(String[] args) {
     array2 ob=new array();

    int[][] data = {{1, 2}, {3, 5}, {6, 7}};
    int[][] data2 = {{8, 9}, {10, 11}, {12, 13}};


    System.out.println("Data a: ");
    ob.setArray(data);
    ob.showarray(ob.getArray());
    System.out.println("Data b: ");
    ob.setArray(data2);
    ob.showaray(ob.getArray());

1 Ответ

0 голосов
/ 09 октября 2018

Если вы хотите обнаружить конкретную строку, вы можете попробовать цикл, подобный

for (int i = 0; i < data.length; i++){
  if(data[i, 0] == oldSpecificRowValue){
     data[i, 0] = newSpecificRowValue;
  }
}

, и если вы обнаружите определенное значение в столбце, пример будет

for (int i = 0; i < data.length; i++){
  if(data[i, 1] == oldSpecificColumnValue){
     data[i, 1] = newSpecificColumnValue;
  }
}

.В первом примере сканируется двумерный массив, и если значение строки равно определенному значению, то значение заменяется новым.Второй пример делает то же самое, используя значения в столбцах.

Когда вы спросили метод, все может быть инкапсулировано с помощью метода, подобного

private void changeRowValue(double[] data, double oldVal, double newVal){
    for (int i = 0; i < data.length; i++){
      if(data[i, 0] == oldVal){
         data[i, 0] = newVal;
      }
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...