Array Copy Method

Classic programmed-learning exercises, refreshed for modern Java and presented in the current MrStyner.com portfolio style.

Modern Java noteThis archive has been refreshed for Java 25 LTS. Core language concepts remain useful, while outdated setup instructions and browser-era Java are labeled or replaced. Java 26 is the current feature release; Java 25 is used here as the stable teaching baseline.
go to previous page   go to home page   go to next page

Answer:

The mistake is that zeroAll() does not have a variable j but is attempting to use one. The variable j inside print() cannot be seen by zeroAll().

Array Copy Method

Look back at the previous two pages to see the correct and mistaken version of the program. Here is another version of the program, this time with an (incomplete) method that will copy the values from one array into another.

// Array Example
//
class ChangeArray
{
  void print ( int[] x )
  {
    for (int j=0; j < x.length; j++)
      System.out.print( x[j] + " " );
    System.out.println( );
  }

  // Copy source to target
  void copy (int[] source, int[] target)
  {
       // more statements here
  }
}

class ChangeTest
{
  public static void main(String[] args)
  {
    ChangeArray cng = new ChangeArray();
    int[] s = {27, 19, 34, 5, 12} ;
    int[] t = new int[ s.length ];
    
    cng.copy( s, t );
    System.out.println( "After copy:" );
    cng.print( t );
  }
}

Both array objects must exist before copy() is called, and both must have the same number of elements. Notice how the declaration for t makes sure that this is so.

QUESTION 13:

Fill in the missing code.