Løsningsforslag - oppgaver i Avsnitt 1.6.2


Oppgave 1

  int[][] a = {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15}};

  int[] b1 = {1,2,3};
  int[] b2 = {4,5,6};
  int[] b3 = {7,8,9};
  int[] b4 = {10,11,12};
  int[] b5 = {13,14,15};

  int[][] b = {b1, b2, b3, b4, b5};

  int[][] c = new int[5][3];

  for (int i = 0; i < c.length; i++)       // rader
  {
    for (int j = 0; j < c[0].length; j++)  // kolonner
    {
      c[i][j] = 3*i + j + 1;
    }
  }

Oppgave 2

  int[][] a = {};
  System.out.println(a.length);
  // Utskrift: 0

  int[][] b = {{}};
  System.out.println(b.length);
  // Utskrift: 1

  int[][] c = new int[0][0];
  System.out.println(c.length);
  // Utskrift: 0

  int[][] d = new int[2][0];
  System.out.println(d.length);
  // Utskrift: 2

  int[][] e = new int[0][2];
  System.out.println(e.length);
  // Utskrift: 0

  int[][] f = {null,{}};
  System.out.println(f.length);
  // Utskrift: 2 

Oppgave 3

  int[][] a = {};
  System.out.println(a[0].length);
  // Feilmelding:
  // java.lang.ArrayIndexOutOfBoundsException: 0

  int[][] b = {{}};
  System.out.println(b[0].length);
  // Utskrift: 0

  int[][] c = new int[0][0];
  System.out.println(c[0].length);
  // Feilmelding:
  // java.lang.ArrayIndexOutOfBoundsException: 0

  int[][] d = new int[2][0];
  System.out.println(d[0].length);
  // Utskrift: 0

  int[][] e = new int[0][2];
  System.out.println(e[0].length);
  // Feilmelding:
  // java.lang.ArrayIndexOutOfBoundsException: 0

  int[][] f = {null,{}};
  System.out.println(f[0].length);
  // Feilmelding:
  // java.lang.NullPointerException

Oppgave 4

  int[][] a = {{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}};

  int[][] b = Arrays.copyOf(a,2);

Oppgave 5

  int[][] a = {{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}};

  a = Arrays.copyOf(a,a.length + 1);

  a[a.length-1] = new int[]{16,17,18,19,20};

Oppgave 6

  int[][] a = {{1,4,7,10,13},{2,5,8,11,14},{3,6,9,12,15}};

  for (int i = 0; i < a.length; i++)
  {
    a[i] = Arrays.copyOf(a[i],7);
    a[i][5] = 16 + i;
    a[i][6] = 19 + i;
  }

Oppgave 7

  int n = 5;

  int[][] a = new int[n][n];

  for (int i = 0; i < n; i++) a[i][i] = 1;

Oppgave 8

  int m = 3, n = 5;

  int[][] a = new int[m][n];

  for (int i = 0; i < m; i++)       // m rader
  {
    for (int j = 0; j < n; j++)     // n kolonner
    {
      a[i][j] = n*i + j + 1;
    }
  }

Oppgave 9

  int m = 3, n = 5;

  int[][] a = new int[m][n];

  for (int j = 0; j < n; j++)       // n kolonner
  {
    for (int i = 0; i < m; i++)     // m rader
    {
      a[i][j] = m*j + i + 1;
    }
  }

Oppgave 10

Løsning mangler!