2016-11-08 1 views
1

fichier de classe: J'utiliser le tableau 2d int pour stocker la valeur puis-je configurer le poseur et gettertableau 2d passe en java

public class SquareMatrix implements SquareMatrixInterface{ 
    int[][] squareMatrix; 

    public int[][] getSquareMatrix() { 
     return squareMatrix; 
    } 

    public void setSquareMatrix(int[][] squareMatrix) { 
     this.squareMatrix = squareMatrix; 
    } 
} 

fichier d'interface

public interface SquareMatrixInterface { 
    public int[][] getSquareMatrix(); 
    public void setSquareMatrix(int[][] squareMatrix); 
} 

principal: Je mets une valeur et essayez de définir la valeur du compositeur, mais il me donne l'erreur

public class test { 

    SquareMatrixInterface matrixA = new SquareMatrix(); 
    SquareMatrixInterface matrixB = new SquareMatrix(); 

    public static void main(String[] args) { 
     int[][] m1 = {{1,2},{3,4}}; 
     matrixA.setSquareMatrix(m1); 

    } 
} 

pourquoi il me donne une erreur lorsque je tente de passer dans le tableau à la SETT er comment passer un tableau 2d sans inclure la bibliothèque java

+0

Vous avez déjà une réponse correcte (environ statique vs non statique), mais la prochaine fois s'il vous plaît dites-nous un message d'erreur exact et stacktrace. – Whome

+0

pouvez-vous inclure la trace de la pile –

Répondre

3

vous accès cant non statiques propriétés à l'intérieur statique bloc .. [Ne peut pas faire référence statique au champ non statique] si vous avez besoin de réécrire votre principale méthode pour ..

public static void main(String[] args) { 
     SquareMatrixInterface matrixA = new SquareMatrix(); 
     int[][] m1 = {{1, 2}, {3, 4}}; 
     matrixA.setSquareMatrix(m1); 
    } 

OU

static SquareMatrixInterface matrixA = new SquareMatrix(); 

public static void main(String[] args) { 
    int[][] m1 = {{1, 2}, {3, 4}}; 
    matrixA.setSquareMatrix(m1); 
}