Java : iinitialiser une matrice de class
Zaylop
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Zaylop Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Zaylop Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais savoir comment initialiser une matrice de classes.
mon code :
class Neurone
{
int x;
int y;
int weight[]=new int[3];
}
pour la matrice : Neurone map[][]=new Neurone[10][10];
lors du remplissage de la matrice une exception NullPointerException s'affiche.
Merci d'avance.
Je voudrais savoir comment initialiser une matrice de classes.
mon code :
class Neurone
{
int x;
int y;
int weight[]=new int[3];
}
pour la matrice : Neurone map[][]=new Neurone[10][10];
lors du remplissage de la matrice une exception NullPointerException s'affiche.
Merci d'avance.
A voir également:
- Java : iinitialiser une matrice de class
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
6 réponses
Re-Bonjour,
la class Neurone :
class Neurone
{
int x=0;
int y=0;
int weight[]=new int[3];
public Neurone()
{
this.y=y;
this.x=x;
this.weight=new int[3];
}
}
la class Neurone :
class Neurone
{
int x=0;
int y=0;
int weight[]=new int[3];
public Neurone()
{
this.y=y;
this.x=x;
this.weight=new int[3];
}
}
tu vas les chercher où les valeurs x, y ?
pourquoi tu recrées un tableau de int déjà créé dans tes attributs ?
pourquoi tu recrées un tableau de int déjà créé dans tes attributs ?
Mon probléme est que lorsque je rempli la matrice l'exception NullPointerException se déclanche.
à quoi doit ressembler le constructeur ?
à quoi doit ressembler le constructeur ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionclass Neurone{ private int x; private int y; private int weight[]; // Constructeur par defaut public Neurone(){ y=0; x=0; weight=new int[3]; } // Constructeur autre public Neurone(int x, int y, int weigth){ this.x=x; this.y=y; this.weigth=new int[weigth]; } }
Salut,
S'il utilise ce code, le problème sera réglé.
Mais j'ai voulu préciser un petit truc:
Quand un message s'affiche, (soit Runtime Error ou erreur.printStackTrace()) vous pourrez suivre les différente appeles jusqu'à la source du problème: le nom de la classe et le numéro de la ligne. Cela va vous aider pendant la detection des erreurs.
S'il utilise ce code, le problème sera réglé.
Mais j'ai voulu préciser un petit truc:
Quand un message s'affiche, (soit Runtime Error ou erreur.printStackTrace()) vous pourrez suivre les différente appeles jusqu'à la source du problème: le nom de la classe et le numéro de la ligne. Cela va vous aider pendant la detection des erreurs.
Salut,
Le problème n'est pas résolu.
Voici le code de mon programme :
import java.awt.* ;
import javax.swing.* ;
import java.io.*;
import java.math.*;
import java.*;
class Neurone{
int x;
int y;
int weight[];
// Constructeur par defaut
public Neurone()
{
y=0;
x=0;
weight=new int[3];
}
// Constructeur autre
public Neurone(int x, int y, int weight)
{
this.x=x;
this.y=y;
this.weight=new int[weight];
}
}
class Test
{
public static void main(String arg[]) throws NullPointerException
{
final Neurone [][] map=new Neurone[10][10];
final int x_size=10;
final int y_size=10;
final int dimension=3;
/****************************************/
/*Class génération fichier de travail*/
class GenerateFile
{
public void generate_trav()
{
int x;
String s;
try{
BufferedWriter fichier = new BufferedWriter(new FileWriter("travail.dat"));
for(int i=0;i<99;i++)
{
x=(int)(Math.random()*4);
//System.out.println(x+" ");
fichier.write(x+" ");
}
fichier.flush();
fichier.close();
}catch(IOException e){}
}
}
/***********************************/
/*Class génération class d'apprentissage*/
class GenerateApprent
{
public void generate_app()
{
int x;
String s;
try
{
BufferedWriter fichier = new BufferedWriter(new FileWriter("app.dat"));
for(int i=0;i<99;i++)
{
x=(int)(Math.random()*4);
// System.out.println(x+" ");
fichier.write(x+" ");
}
fichier.flush();
fichier.close();
}catch(IOException e){}
}
}
/******************************************/
/*Class Initialisation de la carte*/
class InitNet
{
int x,y;
int i,j,k;
public void Init()
{
try
{
FileReader fichier = new FileReader("travail.dat");
StreamTokenizer entree = new StreamTokenizer(fichier);
for(i=0,x=0;i<x_size;i++,x++)
{
for(j=0,y=0;j<y_size;j++,y++)
{
map[i][j].x=x;
map[i][j].y=y;
for(k=0;k<dimension;k++)
{
entree.nextToken();
map[i][j].weight[k]=(int)entree.nval;
}
}
}
fichier.close();
}catch(IOException e){}
//catch(NullPointerException e){System.out.println("Erreur");}
}
}
/************************************************/
/*Exécution*/
new GenerateFile().generate_trav();
new GenerateApprent().generate_app();
new InitNet().Init();
}
}
L'erreur intervient lors de l'exécution des commande en gras. Lors du remplissage de la matrice de Neurone.
Merci.
Le problème n'est pas résolu.
Voici le code de mon programme :
import java.awt.* ;
import javax.swing.* ;
import java.io.*;
import java.math.*;
import java.*;
class Neurone{
int x;
int y;
int weight[];
// Constructeur par defaut
public Neurone()
{
y=0;
x=0;
weight=new int[3];
}
// Constructeur autre
public Neurone(int x, int y, int weight)
{
this.x=x;
this.y=y;
this.weight=new int[weight];
}
}
class Test
{
public static void main(String arg[]) throws NullPointerException
{
final Neurone [][] map=new Neurone[10][10];
final int x_size=10;
final int y_size=10;
final int dimension=3;
/****************************************/
/*Class génération fichier de travail*/
class GenerateFile
{
public void generate_trav()
{
int x;
String s;
try{
BufferedWriter fichier = new BufferedWriter(new FileWriter("travail.dat"));
for(int i=0;i<99;i++)
{
x=(int)(Math.random()*4);
//System.out.println(x+" ");
fichier.write(x+" ");
}
fichier.flush();
fichier.close();
}catch(IOException e){}
}
}
/***********************************/
/*Class génération class d'apprentissage*/
class GenerateApprent
{
public void generate_app()
{
int x;
String s;
try
{
BufferedWriter fichier = new BufferedWriter(new FileWriter("app.dat"));
for(int i=0;i<99;i++)
{
x=(int)(Math.random()*4);
// System.out.println(x+" ");
fichier.write(x+" ");
}
fichier.flush();
fichier.close();
}catch(IOException e){}
}
}
/******************************************/
/*Class Initialisation de la carte*/
class InitNet
{
int x,y;
int i,j,k;
public void Init()
{
try
{
FileReader fichier = new FileReader("travail.dat");
StreamTokenizer entree = new StreamTokenizer(fichier);
for(i=0,x=0;i<x_size;i++,x++)
{
for(j=0,y=0;j<y_size;j++,y++)
{
map[i][j].x=x;
map[i][j].y=y;
for(k=0;k<dimension;k++)
{
entree.nextToken();
map[i][j].weight[k]=(int)entree.nval;
}
}
}
fichier.close();
}catch(IOException e){}
//catch(NullPointerException e){System.out.println("Erreur");}
}
}
/************************************************/
/*Exécution*/
new GenerateFile().generate_trav();
new GenerateApprent().generate_app();
new InitNet().Init();
}
}
L'erreur intervient lors de l'exécution des commande en gras. Lors du remplissage de la matrice de Neurone.
Merci.