查找和更改数组Java OOP的索引

时间:2018-10-09 16:17:53

标签: java oop

您如何制作一种方法来查找特定的行/列并对其进行更改,例如我想找到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 :(得分:0)

如果要检测特定的行,可以尝试像这样的循环

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;
  }
}

第一个示例扫描2D数组,如果行值等于特定值,则将其替换为新值。第二个示例使用列上的值执行相同的操作。

如您所要求的一种方法,所有内容都可以用类似的方法封装

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;
      }
    }
 }