Comment imprimer un histogramme?

J'essaye d'imprimer un histogramme, mais j'ai du mal à le reconstituer dans le main. Je suis nouveau dans les tableaux, donc si quelqu'un peut aider avec ça, ce serait très apprécié. Voici mes méthodes:

public static void main(String[] args) {
  randomIntArray(5);
}

public static int randomInt(int low, int high){
  int x= (int)(Math.random ()*high)+low;
  return x;       
}

public static int[] randomIntArray(int n){
  int[] a = new int [n];
  for (int i = 0;i<=10) { 
    int counter = 0;
    int h=0;
    while(h

Et voici ce que je reçois en sortie.

[[email protected]

Dois-je repenser la façon dont je fais cela, ou y a-t-il une solution simple?

0
@ ZouZou: D'accord, c'est un peu mieux, mais maintenant je reçois '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]'.
ajouté l'auteur Nick Gatti, source
Découvrez la méthode Object # toString() et son fonctionnement.
ajouté l'auteur Sotirios Delimanolis, source
Essayez System.out.println (Arrays.toString (printHist (a)));
ajouté l'auteur Alexis C., source
@ NickGatti Eh bien c'est un autre problème maintenant. Vous devez étudier pourquoi.
ajouté l'auteur Alexis C., source

1 Réponses

System.out.println(arrayObject) does not do what you think it does.

Try one of the solutions at this related question: What's the simplest way to print a Java array? - such as Arrays.toString(arrayObject)

0
ajouté
Ok, c'est un peu mieux, mais maintenant je reçois '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]'
ajouté l'auteur Nick Gatti, source
Basé sur la lecture de votre code ci-dessus, cela ressemble à k [i] = compteur attribue toujours une valeur 0 - peut-être parce que votre condition interne h ou la condition if a [h] == i n'est pas satisfaite. La meilleure option consiste à utiliser votre débogueur et à parcourir le code.
ajouté l'auteur Krease, source