Problem exuction program java

bonjour , j'ai un problem d'exuction j'ai un programme qui marche bien sur la machine de mon ami et ne marche bien sur ma machine
voila le code source

package point1;

import java.util.Scanner;

public class ex {
 
 public static void main(String args[])
 {
  int n;
  double abs = 0;
  double cord=0;
  Scanner sc=new Scanner(System.in);
  //PointEx P=new PointEx();
  System.out.println("entrez le nombre d'ele qui vouus volez");
  n=sc.nextInt();
  
  PointEx t[]=new PointEx[n];
  for(int i=0;i<t.length;i++)
  {
  t[i].x=sc.nextDouble();
  t[i].y=sc.nextDouble();
  }
  sc.close();
  for(int i=0;i<t.length;i++)
  {
  abs=abs+t[i].x;
  cord=cord+ t[i].y;
  }
  abs=abs/n;
  cord=cord/n;
  
  System.out.println("le centre de tout les abs "+abs+"le centre de tout les cordonnes c'est "+cord);
  
 }

}

le problem c'est que on veur creer un programme java qui permettant de définir une class représentant un point en 2D.le programme permet par ailleurs de saisir un nombre quelquenque de point puis de calculer leur barycentre
et merci.

3 réponses

  1. Exception in thread "main" java.lang.NullPointerException
    at point1.ex.main(ex.java:20)
    1. Modérateur
      Bonjour,

      Ce code ne peut pas être utilisé seul, il te faut également le code de la classe PointEx...
      1. package point1;

        public class PointEx {
        public double x;
        public double y;

        }
    2. Modérateur
      Tu as initialisé le tableau
      PointEx t[]=new PointEx[n];
      mais pas son contenu.
      Par défaut chaque case
      t[i]
      a pour valeur
      null
      , donc tu ne peux pas faire
      t[i].x
      il faudrait d'abord que tu donnes une valeur à
      t[i]
      ...

      for (int i=0; i<t.length; i++) {
          t[i] = new PointEx();
          t[i].x = sc.nextDouble();
          t[i].y = sc.nextDouble();
      }