Dubbio esercizio su java

di il
3 risposte

Dubbio esercizio su java

Ho questo codice che fino a qui è corretto.
public class Matrice {

private int[][]mat;

public Matrice(int[][]mat){
this.mat = new int [mat.length][mat.length];
for (int i=0; i<mat.length; i++)
for (int j=0; j<mat.length; j++)
this.mat[j]= mat [j];
}

public int valoreIntorno(int i){
int valore;
if(i>=0 && i<=mat.length){
valore= mat+mat[i-1]+mat[i-1][i-1]+mat[i-1]+mat[i+1]+mat[i+1][i+1]+mat[i+1]+mat[i-1][i+1]+mat[i+1][i-1];
}else
valore=-1;

return valore;

}

public int []differenzeIntorni(Matrice m){
if (m.mat.length != this.mat.length)

Ad un certo punto si richiamano le matrice precedentemente definite in queste modo m.mat.length
Perché è così inveche che m.length??

3 Risposte

  • Re: Dubbio esercizio su java

    Se non posti il codice correttamente non si capisce nulla
  • Re: Dubbio esercizio su java

    Il codice che ho riportato sopra è già corretto. Non capisco perché scrivere m.mat.length piuttosto che solo m.length. Perché si deve anche richiamare mat
  • Re: Dubbio esercizio su java

    Patzia ha scritto:


    public int []differenzeIntorni(Matrice m){
    if (m.mat.length != this.mat.length)

    Ad un certo punto si richiamano le matrice precedentemente definite in queste modo m.mat.length
    Perché è così inveche che m.length??
    Perché stai ricevendo un ALTRO oggetto Matrice. La tua classe Matrice NON ha un length (come campo ... non avrebbe senso). Quindi hai l'oggetto Matrice e su questo accedi al campo mat e esso ha il length perché è un array.
Devi accedere o registrarti per scrivere nel forum
3 risposte