souci sur une pile et un tableau
Bonjour et tous mes voeux,
J'ai un léger souci.
J'ai deux codes pour créer une pile et la modifier tout ceci version tableau.
Mon premier code donne une taille de tableau fixe.
Le second code permet de définir des entiers compris entre 0 et 99.
J'essaye de faire un mix de ces deux codes sachant que dans mon main on définit la taille du tableau, le but étant d'avoir un tableau d'entiers tirès aléatoirement, puis d'effectuer différentes opérations sur ce dernier. Bref, je n'arrive pas à faire un mix de ces deux classes.
Mon code de base.
Code:
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
package Pile;
public class PileTab {
private int tailleMax = 1000; // Taille maximale
private int sommet = -1; // Sommet du tableau
private int[] tableau;
// Constructeur: crée une pile vide de taille maximale donnée
public PileTab(int max) {
tailleMax = max;
sommet = -1;
tableau = new int [tailleMax];
}
// Modificateurs
/** Effacer tous les elements */
public void effacer() {
sommet = -1;
}
/** Empiler */
public void empiler(int element) {
if (sommet == tailleMax - 1) {
System.out.println("Impossible d'empiler: la pile est pleine");
}
sommet++;
tableau[sommet] = element;
}
/** Dépiler */
public void depiler() {
if (isPileVide()) {
System.out.println("Impossible de desempiler: la pile est vide");
}
sommet--;
}
// Sélecteurs
/** Teste si une pile est vide */
public boolean isPileVide() {
return (sommet == -1);
}
/** Retourne la valeur du sommet */
public int sommet() {
if (isPileVide()) {
System.out.println("Impossible de donner la valeur du sommet: la pile est vide");
}
return tableau[sommet];
}
} |
Code pour le choix aléatoire des valeurs des entiers dans le tableau.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public class Tableau
{
int [] tab;
//Constructeur
Tableau(int n)
{
Random rand = new Random();
tab = new int[n];
for(int i = 0; i < n ; i++)
{
tab[i] = rand.nextInt(100);
}
} |
D'avance merci pour l'aide que vous pourrez m'apporter quand à ce problème. Le suivant sera pour moi de gérer des char entrés au clavier :D