2 votes

Comment rechercher certaines informations dans un tableau ?

Depuis la fin du mois de septembre, je suis un cours de conversion en MSc Software Development, dont le langage principal est Java. Nous avons notre première évaluation pratique à venir et j'espérais avoir quelques conseils.

Nous devons créer un tableau qui stockera 100 entiers (tous compris entre 1 et 10), générés par un générateur de nombres aléatoires, puis imprimer dix nombres de ce tableau par ligne. Pour la deuxième partie, nous devons analyser ces nombres entiers, compter la fréquence d'apparition de chaque nombre et stocker les résultats dans un second tableau.

J'ai bien fait la première partie, mais je ne sais pas comment faire la seconde. J'ai parcouru la classe du scanner pour voir si elle avait des méthodes que je pourrais utiliser, mais je n'en vois aucune. Quelqu'un pourrait-il m'indiquer la bonne direction - pas la réponse, mais peut-être la bibliothèque d'où elle provient ?

Code jusqu'à présent :

import java.util.Random;

public class Practical4_Assessed 
{

public static void main(String[] args) 
{

    Random numberGenerator = new Random ();

    int[] arrayOfGenerator = new int[100];

    for (int countOfGenerator = 0; countOfGenerator < 100; countOfGenerator++)
        arrayOfGenerator[countOfGenerator] = numberGenerator.nextInt(10);

    int countOfNumbersOnLine = 0;
    for (int countOfOutput = 0; countOfOutput < 100; countOfOutput++)
    {
        if (countOfNumbersOnLine == 10)
        {
            System.out.println("");
            countOfNumbersOnLine = 0;
            countOfOutput--;
        }
        else
        {
            System.out.print(arrayOfGenerator[countOfOutput] + " ");
            countOfNumbersOnLine++;
        }
    }
  }
}

Merci, Andrew

1voto

Grisha Points 4798

Vous n'avez besoin d'aucune bibliothèque, il vous suffit de faire une boucle sur votre tableau et de compter :

    for (int x : arrayOfGenerator)
        ar2[x]++;

    //test with
    for (int i=0; i<ar2.length; i++)
        System.out.println("num of "+i+" ="+ar2[i]);

1voto

assylias Points 102015

Chaque fois que vous obtenez un nombre aléatoire, stockez-le dans un fichier int incrémente alors le godet correspondant du "tableau de comptage" :

int[] countingArray = new int[10];
for (int countOfGenerator = 0; countOfGenerator < 100; countOfGenerator++) {
    // Get a number between 0 and 9 (inclusive); we'll add 1 to it in a moment
    int number = numberGenerator.nextInt(10);

    // Update your counts (array indexes start at 0, which is why we
    // haven't added to `number` yet)
    countingArray[number]++;

    // Store the actual number, which we add to because the assignment
    // is for 1-10, not 0-9
    arrayOfGenerator[countOfGenerator] = number + 1;
}

Aujourd'hui, countingArray[0] est le nombre de 1 que vous avez, countingArray[1] est le nombre de 2 que vous avez, etc. Par exemple, où x est de 1 à 10 inclus, countingArray[x - 1] est le nombre de chiffres x vous avez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X