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

NetBeans Java Discussion :

Créer seulement une classe main [Débutant(e)]


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut Créer seulement une classe main
    Bonjour,

    J'apprend à programmer en JAVA avec NETBEANS. Je suis un document pour apprendre et ce doc contient des exemples que je refait.
    Mais là, j'ai un programme qui ne contient pas d'erreur si ce n'est qu'il n'y a pas de main.

    Mais quand j'essaie de créer un main dans NETBEANS, il me le met toujours à l'intérieur d'une classe alors que je le veux tout seul (et si j'efface la classe il y a un problème).

    Donc, voici mon programme que je souhaite lancer à partir de main :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package personne;
     
    import java.util.GregorianCalendar;
     
    /**
     *
     * @author kimilie
     */
     
    public class Personne {
     
            private String nom;
            private String prenom;
            private GregorianCalendar date_nais;
            //champ privé représentant le numéro de la personne
            private int numero;
            //champ statique privé représentant le compteur de personnes
            private static int nbInstances;
     
            //méthode d'instance permettant d'obtenir le numéro d'une personne
            public int getNumero(){
                return numero;
            }
            //méthode statique permettant d'obtenir le nombre d'instances crées 
            public static int getnbInstances(){
                return nbInstances;
            }
     
            //constructeurs
            public Personne(){
                nom="";
                prenom="";
                date_nais=null;
                //création d'une nouvelle personne donc incrémentation du compteur
                nbInstances++;
                //affectation à la nouvelle personne de son numéro
                numero = nbInstances;
            }
     
            public Personne(String n, String p, GregorianCalendar d){
                nom=n;
                prenom=p;
                date_nais=d;
            }
            //asseceurs
            public String getNom(){
                return nom;
            }
     
            public void setNom(String n){
                nom = n.toUpperCase();
            }
     
            public String getPrenom(){
                return prenom;
            }
     
            public void setPrenom(String p){
                prenom = p.toLowerCase();
            }
     
            //méthodes
            public long calculAge(){
                long age;
                date_nais=new GregorianCalendar(1963, 11, 29);
                age=new GregorianCalendar().getTimeInMillis() -date_nais.getTimeInMillis();
                age = age/1000/60/60/24/365;
                return age;
            }
     
            public void agffichage(){
                System.out.println("nom :" + nom);
                System.out.println("prenom : " + prenom);
                System.out.println("âge : " + calculAge());
            }
        }
    et donc j'ai aussi créé une classe que j'ai appelé "main" et dans laquelle j'ai mis ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package personne;
     
    /**
     *
     * @author kimilie
     */
    public static void main(String[] args) {
        personne.Personne;
    }
    Merci,

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Salut,

    Citation Envoyé par francky74 Voir le message
    Mais quand j'essaie de créer un main dans NETBEANS, il me le met toujours à l'intérieur d'une classe alors que je le veux tout seul (et si j'efface la classe il y a un problème).
    Et oui... c'est un bug connu depuis... 1996? Depuis la version 1.0 de Java...
    Je m'avance peut-être un peu, je ne connais java que depuis la 1.4

    Pour ta main-class, l'instanciation ne se fait pas de cette manière, mais dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Personne taPersonne=new Personne();
    et ensuite tu peux appeler les méthodes de la classe sur ton objet "taPersonne".

    Donc, revoir les bases de la programmation en Java... avant de râler après Netbeans!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut

    Un bug depuis 1996 ! pas mal !

    bon je vais tester votre réponse !

    Merci beaucoup

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut class, interface, or enum expected
    Bonjour,

    Donc j'ai modifié l'instanciation comme il m'a été conseillé.
    Je recontre un erreur de la part de NETBEANS "class, interface or enum expected"
    Voici quelques copies d'écran pour aider à la compréhension :



    Donc là je pense que je suis pas trop mal mais il y a cette erreur que je ne comprends pas puisque main étant la méthode d'entrée dans le programme, comment se fait il que NETBEANS attende une classe, une interface ou une énumération (de variables je suppose ???)

    Merci pour vos aides !

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut Sujet déplacé dans JAVA débutants
    J'ai déplacé cette discussion dans le forum JAVA débutants.

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Une méthode "main" doit TOUJOURS vivre à l'intérieure d'une classe, publique de préférence.

    Désolé, aucun raccourci, ni aucune syntaxe de remplacement. Le code doit toujours ressembler à ceci à un moment donné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Main {
        public static void main(String[] args) {}
    }
    Java != C/C++


  7. #7
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Réponse ici
    valable aussi pour l'autre discussion
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  8. #8
    Membre chevronné Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Par défaut
    Eviter aussi de nommer package, classe, méthode de la même façon.

    Une majuscule pour les classes aussi, convention de nommage qui permet de s'y retrouver. Ça améliore la lisibilité =)

  9. #9
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par francky74 Voir le message

    Un bug depuis 1996 ! pas mal !
    Rah flûte zut, faut que j'arrête de faire du second degré!
    Ce n'est pas un bug, c'est une fonctionnalité!

    Bref, voir les réponses précédentes... et revoir un tuto débutant en Java, tu ne vas jamais réussir à progresser avec Netbeans sinon...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  10. #10
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par plegat Voir le message
    Rah flûte zut, faut que j'arrête de faire du second degré!
    oui, ça ne marche pas avec tout le monde

    Citation Envoyé par plegat Voir le message
    et revoir un tuto débutant en Java
    heu oui ça aussi surtout même

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut
    Yep !

    J'avais compris que "le bug" était une blague ... et c'est pour cela que j'ai dit pas mal, car cela m'a fait rigoler.


    En ce qui concerne les tutos, j'ai l'impression qu'il manque des petites choses permettant de mieux accrocher la compréhension.
    Mais c'est personnel bien sûr car j'imagine que d'autres débutants ont pu directement infuser dans le bain java dès leur entrée en matière !

    Moi, je comprends bien les boucles, les expressions conditionnelles ... etc, tous ces trucs que l'on retrouve en basic, en VBA ou en C/C++. C'est juste comment organiser mon main et le fichier Main.java qui me manque pour bien me lancer.

    Par exemple, je n'ai trouvé nulle part que je pouvais placer la méthode Main dans un fichier à part des autres classes et même dans un auitre package.

    merci

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

Discussions similaires

  1. Intégrer une classe main jfreechart dans le jpanel1 netbeans
    Par ririsuperstar dans le forum Composants
    Réponses: 0
    Dernier message: 09/04/2013, 16h11
  2. PaintBox créer d'une classe extérieure
    Par kickoune dans le forum Langage
    Réponses: 10
    Dernier message: 10/02/2009, 05h53
  3. Réponses: 7
    Dernier message: 28/12/2007, 23h08
  4. est il possible de créer dynamiquement une class ???
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 12/07/2005, 16h22
  5. [MFC] Créer dynamiquement une classe
    Par vanitom dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2004, 13h23

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