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 :

[Aide] Compter occurence dans un tableau.


Sujet :

Collection et Stream Java

  1. #1
    Candidat au Club
    Femme Profil pro
    En formation Programmateur de site Web
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : En formation Programmateur de site Web

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Par défaut [Aide] Compter occurence dans un tableau.
    Bonjour,

    Depuis octobre, je suis une formation "Développeur Web" via le CNAM. Dans le cadre de cette formation, j'ai des cours de Java. Étant totalement novice, je galère pas mal dans cette matière. Je suis ce module à distance car je ne suis pas disponible pour le suivre en présentiel.

    Les cours fournis sont très...succincts. Pour quelqu'un qui débute, ce n'est pas l'idéal. Ça m'oblige à compléter ces cours avec des bouquins et ça m'embrouille encore plus.

    On a un exercice à faire dont l'énoncé est le suivant :

    Nom : Exo Java.jpg
Affichages : 1161
Taille : 242,3 Ko

    J'ai réussi à écrire un code pour la première partie de l'exercice:

    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
    import java.util.Scanner;
     
    public class NFA031 {
     
    import java.util.Scanner;
     
    public class NFA031 {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
     
    		{int N=7;
    	    int i;
    	    int tab [] = {0,1,1,1,1,0,0};
     
     
    	        Scanner sc = new Scanner(System.in);
    	        System.out.println("Donner la taille du tableau");
    	        int str = sc.nextInt();
    	        System.out.println("Vous avez saisi : " + str);
     
     
    	    tab=new int [7];
     
    	    for (i=0;i<N;i++){
     
    	        Scanner sc1 = new Scanner(System.in);
    	        System.out.println("Donner un chiffre entre entre 0 et 1:");
    	        int str1 = sc.nextInt();
    	        tab[i] = str1;
    	        System.out.println("Vous avez saisi : " + tab[i]);
    	    }}}}
    Ce qui me pose le plus de problème, c'est le b) et le c)

    Mon tableau a cette tête

    int tab [] = {0,1,1,1,1,0,0};

    Il n'a pas la propriété P car j'ai 4 occurrence consécutive du même chiffre.
    Je n'arrive pas à traduire en Java : Si plusieurs occurrence du même chiffre alors tableau n'a pas la propriété P. Je suppose qu'il faut glisser une fonction compteur avant ?

    Merci beaucoup pour votre aide !

    Vanessa

  2. #2
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Billets dans le blog
    55
    Par défaut
    Bonjour Vanessa,

    Tout d'abord félicitations, c'est courageux de ta part de t'attaquer a NFA031 sans avoir déjà une connaissance de la prog java.

    Pour ton exo, je pense que tu dois faire correctement le a/ avant de t'attaquer au b/ et c/.
    Or ma lecture des choses est la suivante : dans le a/ on te demande de rentrer la taille de ton tableau et que le programme le remplisse aléatoirement de 0 et de 1.
    Je te conseille de faire une classe Tableau dont tu passes au constructeur la dimension et qui possède une méthode afficher et pour le b/ et c/ des méthodes permettant de vérifier la propriété P .....
    Ce serait alors ton constructeur qui remplirait aléatoirement ton tableau de 0 et de 1

    Si ça te convient je te poste la classe Tableau avec le constructeur et la méthode afficher.
    du coup dans ton main() tu n'aurais plus qu'à faire :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static void main(String[] args) 
    	{
    		Scanner sc = new Scanner(System.in);
            System.out.println("Donner la taille du tableau");
            int longueur = sc.nextInt();
    		Tableau monTableau = new Tableau(longueur);
    		monTableau.afficherTableau();
    	}

    ce qui donnerait à l’exécution :

    Donner la taille du tableau
    30
    100010001010111010101110111111
    Développeur Java
    Site Web

  3. #3
    Candidat au Club
    Femme Profil pro
    En formation Programmateur de site Web
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : En formation Programmateur de site Web

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Par défaut
    Citation Envoyé par autran Voir le message
    Bonjour Vanessa,

    Tout d'abord félicitations, c'est courageux de ta part de t'attaquer a NFA031 sans avoir déjà une connaissance de la prog java.

    Pour ton exo, je pense que tu dois faire correctement le a/ avant de t'attaquer au b/ et c/.
    Or ma lecture des choses est la suivante : dans le a/ on te demande de rentrer la taille de ton tableau et que le programme le remplisse aléatoirement de 0 et de 1.
    Je te conseille de faire une classe Tableau dont tu passes au constructeur la dimension et qui possède une méthode afficher et pour le b/ et c/ des méthodes permettant de vérifier la propriété P .....
    Ce serait alors ton constructeur qui remplirait aléatoirement ton tableau de 0 et de 1

    Si ça te convient je te poste la classe Tableau avec le constructeur et la méthode afficher.
    du coup dans ton main() tu n'aurais plus qu'à faire :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static void main(String[] args) 
    	{
    		Scanner sc = new Scanner(System.in);
            System.out.println("Donner la taille du tableau");
            int longueur = sc.nextInt();
    		Tableau monTableau = new Tableau(longueur);
    		monTableau.afficherTableau();
    	}

    ce qui donnerait à l’exécution :

    Donner la taille du tableau
    30
    100010001010111010101110111111
    Bonjour,

    Merci pour votre réponse.
    Effectivement, je pense ne pas avoir pris la bonne direction en commençant l'exercice.
    J'ai essayé de compiler le code donné sous Eclipse. On me demande bien de saisir la taille du tableau mais quand je rentre une donnée, ça me redemande de saisir la taille du tableau et non pas une série aléatoire de 0 et 1.

    Je me suis sûrement planté quelque part. Ce code, il faut l’exécuter dans la classe tableau?

    Merci

    Vanessa

    Edit:
    Une copie d'écran qui illustre ce que je viens d'écrire.

    Nom : Eclipse.jpg
Affichages : 1731
Taille : 124,2 Ko

  4. #4
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Billets dans le blog
    55
    Par défaut
    Non Vanessa, tu as une classe principale avec la fonction main() --> un fichier a part je l'appelle Principal.java
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Principal 
    {
    	public static void main(String[] args) 
    	{
    		Scanner sc = new Scanner(System.in);
            System.out.println("Donner la taille du tableau");
            int longueur = sc.nextInt();
    		Tableau monTableau = new Tableau(longueur);
    		monTableau.afficherTableau();
    	}
    }

    et une classe Tableau --> encore un autre fichier que j'appelle Tableau.java
    Code java : 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
    public class Tableau 
    {
    	private int[] tab;
    	private int dimension = 0;
     
    	public Tableau(int taille) 
    	{
    		this.setDimension(taille);
    		this.setTab(new int[taille]);
     
    		// remplissage aléatoire du tableau
    		Random rand = new Random(); 
            for(int i = 0 ; i < this.dimension ; i++)
            {
            	tab[i] = rand.nextInt(2);
            }
    	}
     
    	public void afficherTableau()
    	{
    		for(int i = 0 ; i < this.dimension ; i++)
            {
            	System.out.print(tab[i]);
            }
    	}
     
    	public int[] getTab() {
    		return tab;
    	}
     
    	public void setTab(int[] tab) {
    		this.tab = tab;
    	}
     
    	public int getDimension() {
    		return dimension;
    	}
     
    	public void setDimension(int dimension) {
    		this.dimension = dimension;
    	}
     
    }

    Courage la solution est proche
    Développeur Java
    Site Web

  5. #5
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Billets dans le blog
    55
    Par défaut bonne année à tous
    Et comme c'est le 31 on est sympa avec tout le monde
    Voici la méthode de la classe Tableau pour faire le b/
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public boolean isP()
    	{
    		boolean flag = true;
    		for (int i = 0 ; i < this.dimension - 3; i++)
    		{
    			if (this.tab[i] == this.tab[i+1] && this.tab[i+1] == this.tab[i+2] && this.tab[i+2] == this.tab[i+3])
    				flag = false;
    		}
    		return flag;
    	}
    Développeur Java
    Site Web

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/07/2008, 03h16
  2. Occurence dans un tableau
    Par french_aspi dans le forum MATLAB
    Réponses: 22
    Dernier message: 02/07/2008, 15h36
  3. Compter les occurences dans un tableau trié
    Par degseb dans le forum Pascal
    Réponses: 2
    Dernier message: 10/01/2008, 16h34
  4. Compter le nombre d'occurence dans un tableau
    Par titou250 dans le forum Excel
    Réponses: 2
    Dernier message: 08/01/2008, 16h25
  5. Relevé des occurences dans un tableau
    Par jjg65 dans le forum C++
    Réponses: 1
    Dernier message: 16/08/2006, 09h02

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