Bonjour à tous,
je débute en Java. Je suis sous éclipse, jdk 1.5.
J'essaie de faire une petite appli de gestion de projet.
Donc j'ai des projets Nucléaire et des projets Retrofit qui hérite de projet.
Un projet à une arraylist de Piece.
Alors mon problème est que je n'arrive pas à utiliser le polymorphisme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void afProjet(int num) { System.out.println("Consulter un projet"); myProj.get(num).afficheProj(); }Eclipse ne me met pas d'erreur mais quand j'exécute j'obtiens :
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 class Projet { //attributs privés protected int numProj; protected String nomProj; protected String nomClientProj; protected float prixProj; public ArrayList <Piece> mypiece = new ArrayList(); . . . public void afficheProj() { System.out.println("--------------------------------"); System.out.println("Numéro du projet " + numProj); System.out.println("Nom du projet " + nomProj); System.out.println("Nom du client " + nomClientProj ); System.out.println("Prix du projet " + prixProj); } } class Nucleaire extends Projet { //attributs privés private int nbVisiteControl; //méthodes publiques public Nucleaire(int unNum,String unProj ,String unNomClient,float unPrix, int unNbVisite) { super(unNum,unProj,unNomClient,unPrix); nbVisiteControl=unNbVisite; } public void afficheProj() {//méthode pour afficher les infos du projet super.afficheProj(); System.out.println("Nombre de visites de contrôles " + nbVisiteControl); System.out.println("--------------------------------"); }
J'ai également une erreur la :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Entrez un numéro de projet 1 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at gestProjet.afProjet(gestProjet.java:148) at gestProjet.run(gestProjet.java:44) at gestProjet.main(gestProjet.java:12) Consulter un projet
Je pense que c'est une erreur toute con, mais la je sèche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void afpiece(int unNum) { System.out.println("Pieces du projet"); for(int i=1;i<=myProj.get(unNum).getMyPiece().size()-1;i++) { myProj.get(unNum).getMyPiece().get(i).affichePiece(); } }
Partager