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

Collection et Stream Java Discussion :

[Débutant] Questions sur un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut [Débutant] Questions sur un tableau
    Bonjour tout le monde,

    Je crée un tableau (à une dimension) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int tableau [] = new int [10];
     
    for (i=0; i< tableau.length - 1; i++)
    		{
     
    			tableau[i] = i * 2 +2;
     
    			System.out.print(tableau[i] + "\t");
    Donc i vaut au départ 0.

    Si je fais 0 * 2 + 2 j'obtiens 2, c'est ça que je veux.

    Ensuite j'obtiens 4 et c'est là que je ne comprends pas.

    Si ma logique est bonne, il fait i (2) *2 + 2, je devrais alors obtenir 6 et pas 4 ?

    Idem pour les autres éléments du tableau.

    Une autre question :

    Quand le Professeur fait un System.out.print(tableau[i]) il a 2, 4,.... 18, 0

    Ce 0 est là car on rempli toutes les cases du tableau excepté la dernière.

    Comme il le précise, la valeur de cette dernière case du tableau est par défaut 0, chez lui, le Zéro apparaît, pas chez moi.

    Merci d'avance pour votre aide.

    beegees

  2. #2
    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 beegees
    Donc i vaut au départ 0.

    Si je fais 0 * 2 + 2 j'obtiens 2, c'est ça que je veux.

    Ensuite j'obtiens 4 et c'est là que je ne comprends pas.

    Si ma logique est bonne, il fait i (2) *2 + 2, je devrais alors obtenir 6 et pas 4 ?
    Non puisqu'au second passage i vaut 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1 * 2 + 2 = (1*2) + 2 = 4

    Citation Envoyé par beegees
    Quand le Professeur fait un System.out.print(tableau[i]) il a 2, 4,.... 18, 0

    Ce 0 est là car on rempli toutes les cases du tableau excepté la dernière.

    Comme il le précise, la valeur de cette dernière case du tableau est par défaut 0, chez lui, le Zéro apparaît, pas chez moi.
    Dans ton code tu n'affiches jamais ce zéro... donc je n'ai aucune idée !
    C'est pas très clair tout cela !
    Pourquoi ne pas demander à ton professeur ?

    a++

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Salut adiGuba,

    Merci pour ta réponse.

    Pour le i, tu as tout à fait raison, merci

    Pour ce qui est du zéro, je ne comprends pas non plus.

    Je n'ai pas demandé à mon Prof car pendant le cours je ne comprenais rien, je ne préfairais donc pas déranger pour rien.

    Maintenant que je suis en blocus, je révise tout ça, je commence à comprendre, mais il y'a certaines choses que je ne comprends pas.

    Heureusement que vous êtes là !

    Bon, je continue l'exercice (qui est assez long) et je reviens vous dire quoi pour ce zéro.

    Merci encore et bonnes fêtes...

    beegees

  4. #4
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Salut,

    A part faire ceci, je voie pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int tableau [] = new int[10];
            for (int i=0; i< tableau.length -1; i++)
            {
                tableau[i] = i * 2 +2;
            }
            for (int i=0; i< tableau.length; i++)
            {
                System.out.print(Integer.toString(tableau[i]) + "\t");
            }

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Salut,

    Merci pour ta réponse.

    J'ai la solution de l'exercice, mais je vois pas ce qui cloche :

    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
    // insertion d'un élément dans un tableau trié
     public class InsertionDansTableau
     {
     public static void main(String [] args)
     {
     // création d'un tableau de 10 éléments
     int[] tableau = new int[10];
     int position, i;
     // on remplit le tableau sauf le dernier élément
     // (qui contient 0 parce que initialisé par défaut)
     for(i = 0; i < tableau.length - 1; i++)
     tableau[i] = i * 2 + 2;
     // affichage du tableau avant insertion de l'élément
     System.out.println("Le tableau avant insertion");
     for(i = 0; i < tableau.length; i++)
     System.out.print(tableau[i] + "\t");
     // élément à insérer (nombre aléatoire entre 0 et 20, par exemple)
     System.out.println();
     int nombre = (int)(Math.random() * 20);
     System.out.println("Nombre pour insertion: " + nombre);
     // recherche de la position d'insertion
     i = 0;
     while ((nombre > tableau[i]) && (i < tableau.length - 1))
     i++;
     position = i;
     System.out.println("Position d'insertion: " + position);
     // décalage des éléments à partir de l'avant-dernier
     // en revenant en arrière jusqu'à position + 1
     // pour éviter d'écraser les valeurs
     // chaque élément à décaler est remplacé par celui qui le précède
     for(i = tableau.length - 1; i >= position + 1; i --)
     tableau[i] = tableau[i-1];
     // insertion de l'élément
     tableau[position] = nombre;
     // affichage du tableau après insertion de l'élément
     System.out.println("Le tableau apres insertion");
     for(i = 0; i < tableau.length; i++)
    System.out.print(tableau[i] + "\t");
    }
    }
    Vous voyez quelque chose ?

    Merci et bonne soirée.

    beegees

  6. #6
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    C'est pas un problème java mais un problème d'algo, je t'invite donc à poser ton problème dans le forum correspondant.
    Sinon j'ai la flemme d'étudier en détail, mais j'imagine que le "0" vient d'un int non initialisé ( qui vaut donc 0 ) inséré au départ.

Discussions similaires

  1. [Débutant] Question sur les lumières
    Par Mandalar dans le forum DirectX
    Réponses: 10
    Dernier message: 04/01/2006, 13h49
  2. [débutant] Questions sur le Transact-SQL
    Par nagty dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 05/07/2005, 17h43
  3. [parseur] [Débutant] Question sur les parseurs
    Par steph-n dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 02/05/2005, 19h17
  4. [Débutant] questions sur Visibroker
    Par Man Dak dans le forum CORBA
    Réponses: 1
    Dernier message: 29/06/2004, 23h02
  5. [débutant] question sur les #
    Par Ultros dans le forum C
    Réponses: 3
    Dernier message: 29/04/2004, 12h30

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