Witam, moje zadanie polega na opisaniu poniższego kodu:
public class RasterData2D {
private double[][] values_;
private double defaultValue_= -9999;
private void init(int rows, int columns, double value) {
values_ = new double[rows][columns];
for (int r = 0; r < values_.length; r++) {
for (int c = 0; c < values_[r].length; c++) { // ???????
values_[r][c] = value;
} } }
public RasterData2D(int rows, int columns) {
this.init(rows,columns, defaultValue_); }
public RasterData2D(int rows, int columns, double defaultValue) {
this.init(rows,columns, defaultValue); defaultValue_ = defaultValue; }
public int columns(){ return values_[values_.length-1].length; } // ??????
public int rows(){ return values_.length; }
public double getValue(int row, int column) {
return values_[row][column]; }
public void setValue(int row, int column, double value) {
values_[row][column] = value; }
}
Moje pytanie brzmi: dlaczego w miejscu, gdzie wstawiłam komentarz // ????? odnosimy się do
values_[r].length;
i dlaczego następnie przy metodzie columns zwracana jest wartość
values_[values_.length-1].length;
dlaczego akurat values_.length-1?
Proszę o pomoc.
Pozdrawiam