Problem exuction program java

malek2212 Messages postés 23 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
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.
A voir également:

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
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();
}
1
malek2212 Messages postés 23 Statut Membre
 
Exception in thread "main" java.lang.NullPointerException
at point1.ex.main(ex.java:20)
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

Ce code ne peut pas être utilisé seul, il te faut également le code de la classe PointEx...
0
malek2212 Messages postés 23 Statut Membre
 
package point1;

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

}
0