Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java] Problème à la compilation

Sujet résolu
    11 novembre 2007 à 18:57:55

    Bonjour àtous les zéros ou plutôt devrais-je dire bonsoir.
    Je suis en train de réaliser un petit programme mais lors de la compilation j'ai les erreurs suivantes:

    Citation : Pas de titre

    Exception in thread "main" java.lang.NullPointerException
    at calculateur.Conti.calculer(Conti.java:24)
    at VirtualCompteur.main(VirtualCompteur.java:11)


    Et voici le code des fichiers associés:
    Le code contenant le main:
    1. import calculateur.Conti;
    2. public class VirtualCompteur{
    3.         public static void main(String args[]){
    4.                 double Vm=12000,Zp=13,Zc=47,Circonf=190,Vitesse=0;
    5.                 double tabV[];
    6.                 Conti resultat=new Conti();
    7.                 tabV=resultat.calculer(Vm,Zp,Zc,Circonf);
    8.                 resultat.afficher(tabV);
    9.                 for(int i=0;i<5;i++){
    10.                 Vitesse=tabV[i];
    11.                 System.out.println("vitesse:"+Vitesse);
    12.                 }
    13.         }
    14. }

    Code de ma class Conti:

    1. package calculateur;
    2. import javax.swing.JFrame;
    3. import GUI.Graphe;
    4. public class Conti{
    5.         private double rdp[]={2.750,1.930,1.500,1.250,1.080,0.956};
    6.         private double vitesse[];
    7.         private double rpm=3.500;
    8.         public void afficher(double[] tableau) {
    9.             Graphe fig = new Graphe(tableau);
    10.             JFrame frame = new JFrame("VirtualCompteur");
    11.             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    12.             frame.getContentPane().add(fig);
    13.             frame.setSize(400, 300);
    14.             frame.setVisible(true);
    15.                 }
    16.         public double[] calculer(double Vm,double Zp,double Zc,double Circonf){
    17.                 for(int i=0;i<=5;++i){
    18.                         vitesse[i]=(Vm*Zp*Circonf*0.0006)/(rpm*rdp[i]*Zc);
    19.                 }
    20.                 return  vitesse;
    21.         }
    22.         public double[] getRdp() {
    23.                 return rdp;
    24.         }
    25.         public double getRpm() {
    26.                 return rpm;
    27.         }
    28. }


    L'erreur provient donc de ma fonction Calculer mais je ne vois pas pourquoi o_O et c'est pour ça que je fais appelle à vous.

    Merci d'avoir lu ce post et j'espère que vous pourrez m'aider :)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      11 novembre 2007 à 19:44:05

      Salut,

      Je suis pas sur mais apparement ton tableau vitesse[] n'est jamais initialisé, donc si tu veux le parcourir dans ta boucle (danc la méthode calculer) forcément ca va faire une nullpointer exception.
      Initialise ton tableau vitesse dès le départ:

      1. private double [] vitesse = new double[5];
      • Partager sur Facebook
      • Partager sur Twitter
        11 novembre 2007 à 20:54:27

        Merci pour ta réponse yaZOo j'ai essayé de remplacer ma ligne de code dans Conti.java
        1. private double [] vitesse;

        par
        1. private double [] vitesse = new double[5];
        mais malheuresement cela ne change rien.
        Donc si quelqu'un à une autre idée je suis preneur. ^^
        • Partager sur Facebook
        • Partager sur Twitter
          11 novembre 2007 à 20:57:40

          remplace '5' par '6' :
          1. private double [] vitesse = new double[6];
          • Partager sur Facebook
          • Partager sur Twitter
            11 novembre 2007 à 21:22:21

            Effectivement ça marche mieux avec 6 c'est vrai que j'avais pas fait gaffe car pour moi j'allais de 0 à 5 :-°
            Merci minirop
            • Partager sur Facebook
            • Partager sur Twitter

            [Java] Problème à la compilation

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown