title: Swapping or moving elements of a 2D Array
body: <p>I've got a 2D array of this format (matrix):</p>
  
  <pre><code>String[][] start;
  start = new String[4][4];
  </code></pre>
  
  <p><strong>Input</strong></p>
  
  <pre><code>d d + +
  a d d +
  a b b c
  + b _ d
  </code></pre>
  
  <p><strong>Output</strong></p>
  
  <pre><code>d d + +
  a d d +
  a b b c
  + _ b d
  </code></pre>
  
  <p>The objective is to swap/move/shift the underscore ("_") around the array  except I cannot swap with a "+" character. I can only swap with the letters. </p>
  
  <p>I'm trying to have other characters swap positions with the "_" but not replace them. I'm trying to have this operation occur in a loop</p>
  
  <p>I don't know how to go about this. I'd be grateful for any suggestions.</p>
  
  <p>I changed the state of the array by swapping "_" with "b" on the last row. This is now a new array that I can compare to the initial state. I have to store the new state in another array to make a comparison to the initial state. </p>