Créer une classe

BSide Messages postés 88 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 18 février 2008 - 26 juin 2003 à 19:57
BSide Messages postés 88 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 18 février 2008 - 1 juil. 2003 à 09:00
Bonjour

qq1 peut il m'expliquer pourquoi ca ne marche pas svp ?

Il s'agit simplement de créer une classe, d'en faire un tableau qui contient 13 éléments (cartes de jeu) numérotées de 1 à 13 et de lire le contenu du tableau.

C nul, mais c mon premier prog en java et je pense que j'ai du oublier qqch d'important.

Merci pour votre aide.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
//import java.lang.*;

public class Jeu {

 
    
    public class Carte {
    int valeur ;
    Color couleur ;
    }

    public Carte[] main(Color couleurFamille) {
    Carte[] familleComplete = new Carte[13] ;
    for(int i=0;i<13;i++){
        familleComplete[i].valeur=i+1;
        familleComplete[i].couleur=Color.red;
        System.out.print (familleComplete[i].valeur);
        }
    return familleComplete;
    }
}



BSide
:)

6 réponses

you2re Messages postés 11 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 30 juillet 2003
26 juin 2003 à 23:21
Ton main a un pb
declare le main comme ca
public static void main(String args[])
et tu doit a l'interieur de ce main declare un objet de type carte
0
BSide Messages postés 88 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 18 février 2008
27 juin 2003 à 19:48
C fait. Mais rien n'y fait.
En revanche, l'erreur n'est plus la même :
java.lang.NullPointerException
at Jeu.main(Jeu.java:19)
Exception in thread "main"

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.lang.*;

public class Jeu {

    public class Carte {
    int valeur ;
    Color couleur ;
    }

    public static void main(String[] args) {
    Carte[] familleComplete = new Carte[13] ;
    for(int i=0;i<13;i++){
        familleComplete[i].valeur=i+1;
        familleComplete[i].couleur=Color.red;
        System.out.print (familleComplete[i].valeur);
        }
    }
}


BSide
:)
0
you2re Messages postés 11 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 30 juillet 2003
29 juin 2003 à 00:06
il y'a une declaration que tu n'as pas initialise ca doit etre un objet alors si tu peux me send tous tes fivhiers je vais voir
0
BSide Messages postés 88 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 18 février 2008
30 juin 2003 à 07:51
Salut,

merci de prendre le temps de m'aider.

Je ne peux rien t'envoyer d'autre, c tout ce que j'ai. Mon prog est un fichier unique : jeu.class ou jeu.java, je ne sais plus.
Donc tout est là.

BSide
:)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
houmiak Messages postés 44 Date d'inscription mercredi 18 juin 2003 Statut Membre Dernière intervention 27 août 2003 2
30 juin 2003 à 12:11
pour que ca marche, tu dois declarer la classe Carte dans un autre fichier. ensuite, ton tableau familleComplete[] n'est qu'un tableau de références non instanciées. tu dois instancier chaque références du tableau. je te met ici la version corrigée de ton code:

/*********
fichier Jeu.java
*********/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
//import java.lang.*;

public class Jeu
{

public static void main(String[] args)
{
Carte[] familleComplete = new Carte[13] ;
for(int i=0;i<13;i++)
{
familleComplete[i]=new Carte();
familleComplete[i].valeur=i+1;
familleComplete[i].couleur=Color.red;
System.out.print (familleComplete[i].valeur);
}
}
}

/***********
fichier Carte.java
***********/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Carte
{
int valeur ;
Color couleur ;

public Carte()//je t'ai rejouté un constructeur, c'est plus beau comme ca
{
valeur=0;
couleur=null;
}
}

voila et a bientot :)
0
BSide Messages postés 88 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 18 février 2008
1 juil. 2003 à 09:00
Bonjour,

je n'ai pas encore essayé si ça marche (je viens de déménager, ma machine n'est pas encore déballée...) mais en tout cas je te remercie pour ton aide et le temps que tu m'as consacré.
En plus, ça me permet de comprendre la logique de construction des classes.

A+

BSide
:)
0
Rejoignez-nous