Donnerstag, 10. Dezember 2009

 

ASmu - Arrays, Klassen in Java

Erstellen Sie eine Klasse nach folgendem Klassendiagramm:

Die Lösung könnte etwa so aussehen:


/**
* java-array-smu: .ASmu.java
*
* 10.12.2009, Harald R. Haberstroh
*/

/**
* SMÜ zu Arrays.
*
* Erzeuge ein Feld mit den Werten:
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* 1 5 10 10 5 1
* Methoden:
* public void create(int anzahlZeilen, int anzahlSpalten)
* public int[][] getArray()
* public int[] summen()
* public boolean set(int zeile, int spalte, int wert)
* @author Harald R. Haberstroh (hp)
*
*/
public class ASmu {
private int[][] feld = {
{1},
{1,1},
{1,2,1},
{1,3,3,1},
{1,4,6,4,1},
{1,5,10,10,5,1}
};
public void create(int anzahlZeilen, int anzahlSpalten) {
feld = new int[anzahlZeilen][anzahlSpalten];
}
public int[][] getArray() {
return feld;
}
public int[] summen() {
int[] sum = new int[feld.length];
for (int i = 0; i < sum.length; i++) {
sum[i] = 0;
for (int j = 0; j < feld[i].length; j++) {
sum[i] += feld[i][j];
}
}
return sum;
}
public boolean set(int zeile, int spalte, int wert) {
if (zeile >= 0 && zeile < feld.length &&
spalte >= 0 && spalte < feld[zeile].length) {
feld[zeile][spalte] = wert;
return true;
} else {
return false;
}
}
}

Alternativ könnte man set() auch so implementieren:


public boolean set(int zeile, int spalte, int wert) {
try {
feld[zeile][spalte] = wert;
return true;
} catch (IndexOutOfBoundsException e) {
return false;
}
}

Labels: , ,


Kommentare:

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]