IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Erreur "java.lang.NullPointerException"


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut Erreur "java.lang.NullPointerException"
    bonjour à tous,
    je veux calculer un score , j'ai codé ces 3 classes, mais il me donne une erreur que je ne comprend pas !!!
    PS: je débute en java

    merci

    classe main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class main {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
     
    		CalculFrequence calculfrequence = new CalculFrequence();
    		calculfrequence.frequenceRequete("al are sister ","lyza and samia are sister two n nawal sarah");
    		calculfrequence.frequenceTitre("lyza and samia are sister two nawal samia lyza nawal sarah");
    		calculfrequence.getFrequence();
    		//System.out.println(	calculfrequence.getFrequence());
     
     
    	}
     
    }
    classe 2 :TraitementTexte


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    import java.util.ArrayList;
     
    public class TraitementTexte {
     
     
    	ArrayList<String> listeFinaleValide;
     
     
    	public TraitementTexte (String requete){
     
    		int i = 0;
    		boolean motCourant = false;
    		String mot = null;
     
    	ArrayList<String> listeMotRequet = new ArrayList<String>();
     
    	ArrayList carSpeciaux=new ArrayList(); 	
    	carSpeciaux.add('\n');	carSpeciaux.add('\t');	carSpeciaux.add(';');	carSpeciaux.add('?');	carSpeciaux.add(':');	carSpeciaux.add('.');	carSpeciaux.add('!');
    	carSpeciaux.add('{');	carSpeciaux.add('}');	carSpeciaux.add('=');	carSpeciaux.add('\'');	carSpeciaux.add(',');	carSpeciaux.add(' ');	carSpeciaux.add('\"');	
    	carSpeciaux.add('\'');	carSpeciaux.add('(');	carSpeciaux.add(')');	carSpeciaux.add('[');	carSpeciaux.add(']');
     
    	while(i < requete.length()){
    		if (Character.isWhitespace(requete.charAt(i))||(carSpeciaux.contains(requete.charAt(i)))){
    			if (motCourant){
    				listeMotRequet.add(mot);
    				mot="";
    				motCourant=false;
    			}		 
    		}
     
    		else{
    			if(!motCourant)
    				motCourant=true;
    			mot=mot+requete.charAt(i);
    		}
    		i++;
    	}	 
     
    	listeMotRequet.add(mot);	
     
    	String[] liste = new String[listeMotRequet.size()];
    	java.util.Iterator<String> it= listeMotRequet.iterator();
     
    	StopList stoplist = new StopList();
    	for(i=0;i<listeMotRequet.size();i++)
    		liste[i]=it.next();
     
    	for(i=0;i<listeMotRequet.size();i++)
    		if ((!stoplist.Stoplist.contains(liste[i]))&&(liste[i].length()>1))
    			listeFinaleValide.add(liste[i]);	
     
    	}
     
    	public TraitementTexte (){
    		this.listeFinaleValide = null;
    	}
     
    	public ArrayList<String> getListeFinaleValide() {
    		return this.listeFinaleValide;
    	}
     
     
     
     
     
     
     
    }
    classe 3 : CalculFrequence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    import java.util.ArrayList;
     
     
    public class CalculFrequence {
    	String titre ;
    	String requete;	
    	float frequence1;
    	float frequence2;
    	int i,j;
    	float frequence;
     
     
    	public void frequenceGlobale(float alpha){
    		frequence = alpha * ( this.frequence1 /this.frequence2);
    	}
     
     
    	public void frequenceRequete(String requete, String titre){		
     
    		TraitementTexte traitementText1 = new TraitementTexte(requete);
    		ArrayList<String> listeRequet = traitementText1.getListeFinaleValide();
    		TraitementTexte traitementTexte2 = new TraitementTexte(titre);
    		ArrayList<String> listeTitre = traitementTexte2.getListeFinaleValide();
     
    		for (i = 0; i<listeRequet.size(); i++){
    			for(j = 0; j< listeTitre.size();j++){				
    				if(listeRequet.get(i) == listeTitre.get(j)) this.frequence1 ++;
    			}
    		}
     
    	}
     
    	public void frequenceTitre(String titre){		
     
    		TraitementTexte traitementText = new TraitementTexte(titre);
    		ArrayList<String> listeTitre = traitementText.getListeFinaleValide();
     
    		for (i = 0; i<listeTitre.size(); i++){
    			for(j = 0; j< listeTitre.size();j++){				
    				if(listeTitre.get(i) == listeTitre.get(j)) this.frequence2 ++;
    			}
    		}
    	}
     
     
    	public CalculFrequence (String titre, String requete){
    		this.requete = requete;
    		this.titre = titre;
    		this.frequence = 0;
    		this.frequence1 = 0;
    		this.frequence2 = 0;
     
    	}
     
    	public CalculFrequence (){
     
    	}
     
    	public float getFrequence() {
    		return frequence;
    	}
     
    	public void setFrequence(float frequence) {
    		this.frequence = frequence;
    	}
     
    	public float getFrequence1() {
    		return frequence1;
    	}
     
    	public void setFrequence1(float frequence1) {
    		this.frequence1 = frequence1;
    	}
     
    	public float getFrequence2() {
    		return frequence2;
    	}
     
    	public void setFrequence2(float frequence2) {
    		this.frequence2 = frequence2;
    	}
     
     
     
     
     
    }

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut j'ai oublié l'erreur
    il m'affiche cette erreur :

    Exception in thread "main" java.lang.NullPointerException
    at TraitementTexte.<init>(TraitementTexte.java:50)
    at CalculFrequence.frequenceRequete(CalculFrequence.java:21)
    at main.main(main.java:10)

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Dans ton constructeur tu utilise listeFinaleValide mais jamais tu ne l'initialise.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    je l'initialise a quoi , a null ?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    je l'ai initialisé a nll mais ça ne change rien !!!!

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par anizlewan Voir le message
    je l'initialise a quoi , a null ?
    NullPointerException vient du fait que la variable est null, donc l'initialiser à null ne changera rien. Tu dois l'initialiser avec un constructeur d'un ArrayList<String>.

    A+.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut toujours même probleme
    bonjour,
    j'ai modifié ma classe, mais j'ai tjrs la même erreur et je ne sais pas comment la corriger !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    import java.util.ArrayList;
     
     
    public class ScoreTitre {
     
    	float scoreTitre;
     
     
    	public ArrayList<String> listeMotValide(String phrase){
     
    		int i = 0;
    		boolean motCourant = false;
    		String mot = null;
     
    	ArrayList<String> listeMotRequet = new ArrayList<String>();
     
    	ArrayList carSpeciaux=new ArrayList(); 	
    	carSpeciaux.add('\n');	carSpeciaux.add('\t');	carSpeciaux.add(';');	carSpeciaux.add('?');	carSpeciaux.add(':');	carSpeciaux.add('.');	carSpeciaux.add('!');
    	carSpeciaux.add('{');	carSpeciaux.add('}');	carSpeciaux.add('=');	carSpeciaux.add('\'');	carSpeciaux.add(',');	carSpeciaux.add(' ');	carSpeciaux.add('\"');	
    	carSpeciaux.add('\'');	carSpeciaux.add('(');	carSpeciaux.add(')');	carSpeciaux.add('[');	carSpeciaux.add(']');
     
    	while(i < phrase.length()){
    		if (Character.isWhitespace(phrase.charAt(i))||(carSpeciaux.contains(phrase.charAt(i)))){
    			if (motCourant){
    				listeMotRequet.add(mot);
    				mot="";
    				motCourant=false;
    			}		 
    		}
     
    		else{
    			if(!motCourant)
    				motCourant=true;
    			mot=mot+phrase.charAt(i);
    		}
    		i++;
    	}	 
     
    	listeMotRequet.add(mot);	
     
    	String[] liste = new String[listeMotRequet.size()];
    	java.util.Iterator<String> it= listeMotRequet.iterator();
     
    	StopList stoplist = new StopList();
    	for(i=0;i<listeMotRequet.size();i++)
    		liste[i]=it.next();
     
    	ArrayList<String> listeFinaleValide = null;
    	for(i=0;i<listeMotRequet.size();i++)
    		if ((!stoplist.Stoplist.contains(liste[i]))&&(liste[i].length()>1))
    			listeFinaleValide.add(liste[i]);
     
     
    	return listeFinaleValide;	
     
    	}
     
     
    	/////    fin ///////
     
     
     
     
     
    	public void  frequence (float alpha, String requete, String titre){
     
    		float frequence1 = 0;
    		float frequence2 = 0;
    		int i,j;
     
    		//// fréquence 1 /////
    		ArrayList<String> listeRequet = listeMotValide(requete);
    		ArrayList<String> listeTitre = listeMotValide(titre);
     
    		for (i = 0; i<listeRequet.size(); i++){
    			for(j = 0; j< listeTitre.size();j++){				
    				if(listeRequet.get(i) == listeTitre.get(j)) frequence1 ++;
    			}
    		}
     
    		//// fréquence 2 /////
     
    		for (i = 0; i<listeTitre.size(); i++){
    			for(j = 0; j< listeTitre.size();j++){				
    				if(listeTitre.get(i) == listeTitre.get(j)) frequence2 ++;
    			}
    		}
     
    		this.scoreTitre = alpha * ( frequence1 / frequence2);
     
    	}
     
     
    	public ScoreTitre(){
    		this.scoreTitre = 0;
    	}
     
     
    	public float getScoreTitre() {
    		return scoreTitre;
    	}
     
     
    	public void setScoreTitre(float scoreTitre) {
    		this.scoreTitre = scoreTitre;
    	}
     
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String requete = "ld zedj zedj ";
    		String titre =  "sdfj sdjf sdpf ";
    		ScoreTitre scoretitre = new ScoreTitre();
    		scoretitre.frequence(1, requete, titre);
    		scoretitre.getScoreTitre();
    		System.out.println(scoretitre.getScoreTitre());
    	}
     
     
    }

    l'erreur qu'il m'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "main" java.lang.NullPointerException
    	at ScoreTitre.listeMotValide(ScoreTitre.java:51)
    	at ScoreTitre.frequence(ScoreTitre.java:72)
    at ScoreTitre.main(ScoreTitre.java:112)


    quelqu'un peut m'aider !!!

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Veuillez lire les indication qui vous sont données, vous n'avez rien changé au problème!!
    Citation Envoyé par andry.aime Voir le message
    NullPointerException vient du fait que la variable est null, donc l'initialiser à null ne changera rien. Tu dois l'initialiser avec un constructeur d'un ArrayList<String>.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	ArrayList<String> listeFinaleValide = null;
    	for(i=0;i<listeMotRequet.size();i++)
    		if ((!stoplist.Stoplist.contains(liste[i]))&&(liste[i].length()>1))
    			listeFinaleValide.add(liste[i]);

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    mais je ne sais pas comment l'initialiser !!!! avec un constructeur !!!

    merci

  10. #10
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    ouh là...

    tu devrais commencer par lire ce passage de la peut-être...

    et enchaîner par ce passage là
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par anizlewan Voir le message
    mais je ne sais pas comment l'initialiser !!!! avec un constructeur !!!
    Exactement comme tu le fais partout ailleurs dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      ArrayList<String> listeMotRequet = new ArrayList<String>();
      ArrayList carSpeciaux=new ArrayList(); 	
      String[] liste = new String[listeMotRequet.size()];
      java.util.Iterator<String> it= listeMotRequet.iterator();
      StopList stoplist = new StopList();
      ScoreTitre scoretitre = new ScoreTitre();

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    c'est bon c'est réglé

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    j'avais compris avec un constructeur de la classe !!

    merci

  14. #14
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    salut ... je suis un debutant en java ... vous pouver maider sil vous plait ??
    il m' affiche cette erreur
    run:
    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incomparable types: int and <nulltype>
    at Etager.ajout(Problem.java:70)
    at Problem.main(Problem.java:251)
    Java Result: 1

  15. #15
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 4
    Points
    4
    Par défaut même problème :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    class Livre {
     
        private String titre;
        private String auteure;
        private int    nb_page;
        private float  prix;
     
        public Livre(String x, String y, int a, float f) {
            titre = x;
            auteure = y;
            nb_page = a;
            prix = f;
        }
     
        public String get_titre() {
            return titre;
        }
     
        public String get_auteur() {
            return auteure;
        }
     
        public int get_nb_page() {
            return nb_page;
        }
     
        public float get_prix() {
            return prix;
        }
     
        public void set_titre(String x) {
            titre = x;
        }
     
        public void set_auteur(String x) {
            auteure = x;
        }
     
        public void set_prix(float x) {
            prix = x;
        }
     
        public void set_nb_page(int x) {
            nb_page = x;
        }
    }
     
    class Etager {
        private final Livre etage[];
        private final int   taille;
        private       int   indice;
     
        public Etager(int x) {
            taille = x;
            etage = new Livre[taille];
            indice = 0;
        }
     
        public int nb_max() {
            return taille;
        }
     
        public boolean ajout(Livre L) {
     
            if (indice > taille - 1) {
                return false;
            } else {
                String A = L.get_auteur();
                indice++;
     
                etage[indice].set_auteur(A);
                etage[indice].set_nb_page(L.get_nb_page());
                etage[indice].set_prix(L.get_prix());
                etage[indice].set_titre(L.get_titre());
                return true;
            }
        }
     
        public Livre GetLivre(int pos) {
            pos--;
            return (etage[pos]);
        }
     
     
        public int cherche(String x, String y) {
     
            int k;
            for (int i = 0; i < indice; i++) {
                if ((etage[i].get_auteur() == x) && (etage[i].get_titre() == y)) {
                    k = i + 1;
                    return k;
                }
     
            }
            return 0;
        }
     
        public int[] postion(String x, String y) {
            int nb_oc = 0;
            for (int i = 0; i < indice; i++) {
                if ((etage[i].get_auteur() == x) && (etage[i].get_titre() == y))
                    nb_oc++;
            }
            int tab[];
            tab = new int[nb_oc];
            int k = 0;
            int j;
            for (int i = 0; i < indice; i++) {
                if ((etage[i].get_auteur() == x) && (etage[i].get_titre() == y)) {
                    j = i;
                    j++;
                    tab[k] = j;
                    k++;
                }
            }
            return tab;
        }
     
        public Livre[] live_auteur(String x) {
            int t = 0;
            Livre aut[];
     
            for (int i = 0; i < indice; i++) {
                if (etage[i].get_auteur() == x)
                    t++;
            }
            aut = new Livre[t];
            int k = 0;
            for (int i = 0; i < indice; i++) {
                if (etage[i].get_auteur() == x) {
                    aut[k].set_auteur(etage[i].get_auteur());
                    aut[k].set_nb_page(etage[i].get_nb_page());
                    aut[k].set_prix(etage[i].get_prix());
                    aut[k].set_titre(etage[i].get_titre());
                    k++;
                }
            }
            return aut;
        }
     
     
        public Livre[] live_titre(String x) {
            int t = 0;
            Livre[] tit;
            for (int i = 0; i < indice; i++) {
                if (etage[i].get_titre() == x)
                    t++;
            }
            tit = new Livre[t];
            int k = 0;
            for (int i = 0; i < indice; i++) {
                if (etage[i].get_titre() == x) {
                    tit[k].set_auteur(etage[i].get_auteur());
                    tit[k].set_nb_page(etage[i].get_nb_page());
                    tit[k].set_prix(etage[i].get_prix());
                    tit[k].set_titre(etage[i].get_titre());
                    k++;
                }
            }
            return tit;
        }
     
        public Livre enleverLivre(int pos) {
            Livre L;
            if (pos - 1 <= indice) {
     
     
                L = new Livre(etage[pos - 1].get_auteur(), etage[pos - 1].get_titre(), etage[pos - 1].get_nb_page(), etage[pos - 1].get_prix());
                for (int i = pos - 1; i < indice; i++) {
                    etage[i] = etage[i + 1];
                }
                return L;
            } else
                return null;
        }
     
        public Livre enleverLivre(String x, String y) {
     
            int pos;
            if (cherche(x, y) != 0) {
                pos = cherche(x, y);
                return (enleverLivre(pos));
     
     
            }
     
     
            return null;
     
        }
     
     
        public void enlever(String x, String y) {
            Livre l;
            l = new Livre("z", "z", 5, 1);
            if (cherche(x, y) >= 1) {
                int pos = cherche(x, y);
                pos--;
                l = etage[pos];
                etage[pos] = etage[indice];
                etage[indice] = l;
            }
     
        }
     
     
    }


    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public class Problem {
     
        public static void main(String[] args) {
            Livre l1;
            l1 = new Livre("The fault of our stars ", "john green", 10, 5);
            Livre l2;
            l2 = new Livre("The art of war ", "tsun tsu", 10, 5);
            Livre l3;
            l3 = new Livre("Geisha", "Yuki Miyu", 10, 5);
            Livre l4;
            l4 = new Livre("An Abundance of Katherines", "john green", 10, 5);
            Livre l5;
            l5 = new Livre("Tales of Dunk & Egg", "Yuki Miyu", 10, 5);
            Etager E1;
            E1 = new Etager(8);
            Etager E2;
            E2 = new Etager(8);
            E1.ajout(l1);
            E1.ajout(l2);
            E1.ajout(l3);
            E1.live_titre("The art of war");
            E1.enlever("Geisha", "Yuki Miyu");
            E2.ajout(l4);
            E2.ajout(l5);
        }
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/05/2011, 10h40
  2. erreur compilation java.lang.NullPointerException
    Par muslim1987 dans le forum JDBC
    Réponses: 6
    Dernier message: 26/06/2008, 09h16
  3. Erreur exception java.lang.NullPointerException
    Par geol99 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2007, 20h24
  4. erreur de java.lang.NullPointerException
    Par vince351 dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2007, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo