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 :

Question en programmation Java


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 33
    Par défaut Question en programmation Java
    Bonjour,

    Il y'à plusieurs questions qui me taraude :

    • J'aimerai savoir combien d'instance dans ma classe T je crée ici ? deux instances ou un seul ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    T g,a,u;
    g = new T();
    T y=g
    T p = new T();
    • Si je souhaite déclarer un entier Z sur le plus grand espace de mémoire possible, faut t-il utiliser long Z ?


    • J'ai toujours du mal avec les tableaux, par exemple si j'ai cette boucle for, est-ce que j'ai 10 cases ou 11 cases dans mon tableau ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(int i=0;i<=10;i++) (
    tab(i) = 1
    )
    Enfin dernière question , j'ai essayé de faire un mini compteur dans mon programme mais sa ne compile pas correctement, alors que en C ça fonctionne (code blocs).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int cpt= 0;
    int i=0;
    while(cpt<= i)
    (
    i = i +cpt;
    )
    Cdt TO

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut

    Citation Envoyé par treeselectif Voir le message
    • J'aimerai savoir combien d'instance dans ma classe T je crée ici ? deux instances ou un seul ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    T g,a,u;
    g = new T();
    T y=g
    T p = new T();
    Tu as 2 new, donc deux instances sont créees. Et il y a trois variables qui ont des références vers ces 2 instances (g et y sur une même instance, p sur une autre.

    Citation Envoyé par treeselectif Voir le message
    • Si je souhaite déclarer un entier Z sur le plus grand espace de mémoire possible, faut t-il utiliser long Z ?
    Il ne vaut mieux pas chercher à parler de plus grand espace possible. Mais juste de type. Un long est le type primitif permettant de stocker le plus grand entier possible. On peut gérer des nombres plus grands qui prennent donc plus de mémoire. Il y a par exemple la classe BigInteger, mais on pourrait aussi écrire sa propre classe pour gérer des nombres qui prennent l'espace mémoire qu'on veut.

    Citation Envoyé par treeselectif Voir le message
    • J'ai toujours du mal avec les tableaux, par exemple si j'ai cette boucle for, est-ce que j'ai 10 cases ou 11 cases dans mon tableau ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(int i=0;i<=10;i++) (
    tab(i) = 1
    )
    11 ! C'est pour ça qu'il faut mieux utiliser la taille du tableau, comme ça plus de question à se poser sur le nombre d'itérations (on fait celles qui sont nécessaires et suffisantes) (tu remarqueras la correction de syntaxe que j'ai fait avec les crochets.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(int i=0; i<tab.length; i++) {
        tab[i] = 1; 
    }
    ou parcourir le tableau par for-each :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int[] tab = creerTableau();
    // affiche tous les éléments du tableau
    for(int i : tab) {
        System.out.println(i); 
    }


    Citation Envoyé par treeselectif Voir le message
    Enfin dernière question , j'ai essayé de faire un mini compteur dans mon programme mais sa ne compile pas correctement, alors que en C ça fonctionne (code blocs).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int cpt= 0;
    int i=0;
    while(cpt<= i)
    (
    i = i +cpt;
    )
    M'étonnerait que ça fonctionne en C (même en supposant que ça soit mis dans un fonction main. Déjà ce sont des accolades pour les blocs, pas des parenthèses

    Donc le programme en Java ce serait (j'ai juste ajouté un affichage en sortie standard pour qu'on puisse voir ce qu'il se passe) :

    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
     
    public class MonProgramme {
     
        public static void main(String[] args) {
            System.out.println("Le programme démarre.");
            int cpt= 0;
            int i=0;
            while(cpt<= i) {
                System.out.println("Avant : "+i);
                i = i +cpt;
                System.out.println("Après : "+i);
            }
            System.out.println("Le programme se termine.");
        }
     
    }
    Mais l'autre souci c'est que tu as une boucle infinie : en effet, cpt et i vallent 0, et 0+0=0, donc i ne varie pas, il reste à zéro, donc est toujours >= à 0 (cpt), donc la boucle tourne indéfiniment.

    On pourrait faire :
    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
    public class MonProgramme {
     
        public static void main(String[] args) {
            System.out.println("Le programme démarre.");
            int cpt= 10;
            int i=1;
            while( i<=cpt ) {
                System.out.println("Avant : "+i);
                i = i + 1;
                System.out.println("Après : "+i);
            }
            System.out.println("Le programme se termine.");
        }
     
    }
    qui afficherait :
    Le programme démarre.
    Avant : 1
    Après : 2
    Avant : 2
    Après : 3
    Avant : 3
    Après : 4
    Avant : 4
    Après : 5
    Avant : 5
    Après : 6
    Avant : 6
    Après : 7
    Avant : 7
    Après : 8
    Avant : 8
    Après : 9
    Avant : 9
    Après : 10
    Avant : 10
    Après : 11
    Le programme se termine.
    
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par treeselectif Voir le message
    • J'aimerai savoir combien d'instance dans ma classe T je crée ici ? deux instances ou un seul ?
    2 new 2 instances

    Citation Envoyé par treeselectif Voir le message
    • Si je souhaite déclarer un entier Z sur le plus grand espace de mémoire possible, faut t-il utiliser long Z ?
    Oui si tu utilises un type primitif.
    La valeur sera comprise entre -9223372036854775808 et 9223372036854775807.

    Si tu veux des nombres plus grand il faut passer par la classe BigInteger.

    Citation Envoyé par treeselectif Voir le message
    • J'ai toujours du mal avec les tableaux, par exemple si j'ai cette boucle for, est-ce que j'ai 10 cases ou 11 cases dans mon tableau ?
    La boucle itère sur 11 éléments (index de 0 à 10 compris).
    Mais la dimension du tableau dépend de son initialisation et non pas de la boucle...

    Citation Envoyé par treeselectif Voir le message
    Enfin dernière question , j'ai essayé de faire un mini compteur dans mon programme mais sa ne compile pas correctement, alors que en C ça fonctionne (code blocs).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int cpt= 0;
    int i=0;
    while(cpt<= i)
    (
    i = i +cpt;
    )
    Syntaxiquement c'est incorrect car tu as des parenthèses au lieu d'accollades (au passage et sauf erreur cela devrait produire une erreur en C je pense).

    Par contre tu réalises que c'est une boucle infini étant donné que les deux variables restent toujours à zéro ...



    a++

Discussions similaires

  1. [Avis] Les meilleurs programmes Java ?
    Par christopheJ dans le forum ImageJ
    Réponses: 69
    Dernier message: 07/10/2008, 01h12
  2. [Apis]parser les arguments d'un programme Java
    Par sacofan dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/08/2005, 14h32
  3. questions générales sur Java Web Start
    Par Shiryu44 dans le forum JWS
    Réponses: 12
    Dernier message: 11/04/2005, 15h33
  4. [votre avis m'interesse] Interface avec un programme Java
    Par LineLe dans le forum Interfaces Graphiques en Java
    Réponses: 29
    Dernier message: 11/12/2004, 11h39
  5. Lancement d'un programme java depuis un script php
    Par gexti dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 07/05/2004, 17h40

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