bonjour à tous,
Je viens de me commencer à m'intéresser au java et suis totalement néophyte dans tout ce qui touche a la programmation en général.
Alors que j'essayais d'écrire un programme me permettant de calculer le produit scalaire de deux vecteurs j'ai rencontré un soucis de taille de tableau que je n'arrive pas a comprendre :s
voici le code :
Le programme s'arrête après que j'ai inséré le premier "paramètre" du vecteur1 et me dit : Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
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 import java.util.Scanner; public class fonctions { /** * @param args */ public static double produitScalaire(double[] vect1, double[] vect2){ int ps=0; for (int i=0; i<=vect1.length; i++) ps += vect1[i]*vect2[i] ; return ps; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc =new Scanner(System.in); double [] vect1; double [] vect2; double ps; int n, j=0; System.out.println("veuillez entrez la taille des vecteurs"); n = sc.nextInt(); vect1 = new double [n]; vect2= new double [n]; for (j=0; j<n; j++);{ System.out.println("entrez le paramètre suivant du vecteur1"); vect1[j] = sc.nextDouble(); System.out.println("entrez le paramètre suivant du vecteur2"); vect2[j] = sc.nextDouble();} ps = fonctions.produitScalaire(vect1, vect2); System.out.println(ps); } }
at fonctions.main(fonctions.java:27)
J'ai pas mal farfouillé sur internet afin de comprendre que cette erreur indiquait que le tableau vect1 dans lequel j'essayais de rentré un nombre n'était pas assez grand mais je ne vois vraiment pas ou est l'erreur.
J'espère que l'un d'entre vous pourra m'aider
Merci d'avance
Orhtolle
Partager