Partage
  • Partager sur Facebook
  • Partager sur Twitter

Class statique

    27 novembre 2008 à 12:10:13

    Voila mon souci, je cherche à faire retourner à mon objet un tableau, sans avoir à instancier ma classe :
    public class Tableau
    {
    	static int nbl;
    	static int nbc;
    	private int lower, higher;
    	public int T[][] = new int[Tableau.nbl][Tableau.nbc];
    	
    	/**
    	 * 
    	 * @param int[][] Tab
    	 * @param int l
    	 * @param int h
    	 */
    	Tableau(int l, int h)
    	{
    		this.lower  = (l <  h) ? l : h;
    		this.higher = (h >= l) ? h : l;
    		this._init();
    	}
    	
    	/**
    	 * 
    	 * @return void
    	 */
    	private void _init()
    	{
    		for(int l=0; l<Tableau.nbl; l++)
    		{
    			for(int c=0; c<Tableau.nbc; c++)
    			{
    				this.T[l][c] = (int) ((l == 0) 
    					? (Math.random()) * (this.higher-this.lower) + this.lower
    					: (Math.random()) * 20);
    			}
    		}		
    	}
    
    	/**
    	 * 
    	 * @return void
    	 */
    	public void affiche()
    	{
    		for(int l=0; l<Tableau.nbl; l++)
    		{
    			System.out.print("| ");
    			for(int c=0; c<Tableau.nbc; c++)
    			{
    				if(this.T[l][c]<10) System.out.print("0");
    				System.out.print(T[l][c]+" | ");
    			}
    			System.out.println();
    		}
    	}
    }
    

    public class Main
    {
    
    	/**
    	 * 
    	 * @param args
    	 */
    	public static void main(String[] args)
    	{
    		Tableau.nbl =  2;
    		Tableau.nbc = 10;
    		Tableau T1 = new Tableau(18, 25);
    		T1.affiche();
    	}
    
    }
    


    et ce que je souhaiterai c'est que T1 ne soit pas un objet, mais un tableau (ne pas passer par l'instanciation quoi).



    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2008 à 14:40:55

      c'est simple, on ne peut pas définir une classe comme statique.
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2008 à 15:24:46

        Oui ça j'avais compris en faisant des recherches avec Google etc... merci, mais comment je peux résoudre mon problème -_-'
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2008 à 16:09:59

          demande toi si ce ne serait pas plus simple d'utiliser des classes toutes faites comme des ... array, des arraylist ou autres.

          mais de toutes façon, que ce soit un objet ou une variable tu devras toujours instancier ces objets (une variable integer n'est au fond qu'un objet Integer). ou alors dans ton main ne met que des propriétés et méthodes statiques, mais c'est... moche.
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2008 à 16:40:04

            Beh en fait c'est pour un projet "scolaire" et il ets demandé d'utiliser des tableaux, alors je crois que je vais joué sur le mot et garder mon objet "tableau" ça sera plus simple...

            ça tiendrai qu'à moi j'aurai laissé comme c'ets la, mais avec les profs on s'est jamais comment ils notent -_-"

            Sinon, comment faire pour concaténer plusieurs tableaux (un peu comme array_push ou array_merge en php)?
            • Partager sur Facebook
            • Partager sur Twitter
              28 novembre 2008 à 15:59:22

              des tableaux, pas une classe Tableau ^^
              utilise les tableaux de base de Java et fait une classe TraitementTableau si tu veux rajouter des méthodes qui ne sont pas de bases :)

              Il me semble que l'une de ses méthodes permet de concaténer un tab2 avec un tab1. Sinon créé un nouveau tab3 et ajoute dedans tab1 puis tab2 ^^

              Ciao !
              • Partager sur Facebook
              • Partager sur Twitter

              Class statique

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown