IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

RunTime exception sur un objet potentiellement créé


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Points : 55
    Points
    55
    Par défaut RunTime exception sur un objet potentiellement créé
    Bonjour,
    Je suis un débutant en Java donc soyez indulgent sur mon erreur ^^.
    Je donne la possibilité à un utilisateur de choisir une classe de héro dans un RPG(en fonction de ça réponse je créer l'objet correspondant).

    Voila ma façon de procéder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    System.out.println("Choose your class : 1:Magus | 2:Warrior");
    clan = scan.next().charAt(0);
    System.out.println("Choose your name ");
    name = scan.next();
    if(clan == '1'){
      Magus user = new Magus(name);
    }else { 
      Warrior user = new Warrior(name);
    }
    System.out.println(user.Attack("Teleport",m));
    La ligne 11 me renvoie un RuntimeException et je ne comprend pas pourquoi ?
    PS: La méthode Attack prend en paramètre le nom d'une attaque ainsi qu'un objet Player M étant défini comme tel.

    (Sachant que mes classes Magus et Warrior héritent respectivement des classes Spellcaster et Fighter qui elles héritent de Player)

    Merci de votre réponse !

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par xetqL Voir le message
    La ligne 11 me renvoie un RuntimeException et je ne comprend pas pourquoi ?
    PS: La méthode Attack prend en paramètre le nom d'une attaque ainsi qu'un objet Player M étant défini comme tel.

    (Sachant que mes classes Magus et Warrior héritent respectivement des classes Spellcaster et Fighter qui elles héritent de Player)

    Merci de votre réponse !
    Donc je suppose que ta méthode Attack est définis à l'origine dans ta classe Player ? Essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Player user;
    System.out.println("Choose your class : 1:Magus | 2:Warrior");
    clan = scan.next().charAt(0);
    System.out.println("Choose your name ");
    name = scan.next();
     
    if(clan == '1'){
      user = new Magus(name);
    }else { 
      user = new Warrior(name);
    }
    System.out.println(user.Attack("Teleport",m));
    Je pense que ça doit être la solution à ton problème. Je saisis le problème mais je n'ai pas l'explication claire et limpide sur ce phénomène. Je préfère donc laisser le soin de l'explication à quelqu'un d'autre
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Bien joué ! Je suppose que ca doit etre sa jai modifier le nom de mes deux methodes afin quelles soient polymorphe mais jai oublié de la rendre abstraite dans player et non dans mes deux sous classes ! Je test et je te redis merci !

    Bonne déduction ! T'avais raison, j'avais merder et déclarer cette dans la mauvaise classe !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exception sur génération d'objet dans SELECT
    Par Arnard dans le forum Linq
    Réponses: 4
    Dernier message: 04/11/2008, 09h42
  2. vector de pointeurs sur des objet
    Par jean-bobby dans le forum SL & STL
    Réponses: 26
    Dernier message: 06/08/2004, 14h54
  3. pointeur multiple sur un objet
    Par Arnaud-h dans le forum C++Builder
    Réponses: 9
    Dernier message: 02/06/2004, 11h33
  4. [debutant] Contraintes d'intégrité définies sur un objet
    Par maysa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/05/2004, 14h57
  5. Requêtes : recherche de maxi sur plusieur Objet
    Par pertuis dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/03/2004, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo