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

avec Java Discussion :

transformer une methode static a non static


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut transformer une methode static a non static
    Débutant en Java je suis bloqué sur le programme suivant :
    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
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    class corrige {
     
      static final int N = 20; // plus grand numéro de boule possible
     
      static void Affiche(int[] sac) {
        Terminal.ecrireString("{");
        boolean Au_Moins_Un = false;
        for (int i=0; i<N; i++)
          if (sac[i]>0) {
            if (Au_Moins_Un) Terminal.ecrireString(", ");
            else             Au_Moins_Un = true;
            Terminal.ecrireString((i+1)+"=>"+sac[i]);
          };
        Terminal.ecrireString("}");
      }
     
      static int[] Lire(int[] sac) {
        int C, N;  
        do {
          Terminal.ecrireString("contenu actuel du sac : ");
          Affiche(sac);
          Terminal.sautDeLigne();
          Terminal.ecrireString(" ajouter(+)/retirer(-) combien de boules d'un meme numero (0 = fin) : ");
          C = Terminal.lireInt();
          if (C==0) break;
          Terminal.ecrireString("                                              quel numero de boule  : ");
          N = Terminal.lireInt();
          sac[N-1] = Math.max(0, sac[N-1]+C);
        } while (C!=0);
        return sac;
      }
     
      static boolean Contient(int[] sac, int num) {
        return sac[num-1]>0;
      }
     
      static boolean Inclus(int[] x, int[] y) {
        for (int i=0; i<N; i++)
          if (x[i]>y[i]) return false;
        return true;
      }
     
      static int[] Union(int[] x, int[] y) {
        int[] r = new int[N];
        for (int i=0; i<N; i++) r[i] = x[i]+y[i];
        return r;
      }
     
      static int[] Moins(int[] x, int[]y) {
        int[] r = new int[N];
        for (int i=0; i<N; i++) r[i] = Math.max(0, x[i]-y[i]);
        return r;
      }
     
      static int[] Intersection(int[] x, int[] y) {
        int[] r = new int[N];
        for (int i=0; i<N; i++) r[i] = Math.min(x[i], y[i]);
        return r;
      }
     
      // fonction principale
      public static void main (String[] args) {
        int[] A = new int[N],
              B = new int[N];  
        int Num;  
        // saisie du sac A
        Terminal.ecrireString("Saisie des boules du sac A : ");
        A = Lire(A);
        Terminal.ecrireString("A = ");
        Affiche(A);
        Terminal.sautDeLigne();
        // saisie du sac B
        Terminal.sautDeLigne();
        Terminal.ecrireString("Saisie des boules du sac B : ");
        B = Lire(B);
        Terminal.ecrireString("B = ");
        Affiche(B);
        Terminal.sautDeLigne();
        // saisie d'un numéro de boule
        Terminal.sautDeLigne();
        Terminal.ecrireString("donnez un numero de boule : ");
        Num = Terminal.lireInt();
     
        Terminal.sautDeLigne();
        Terminal.ecrireString("le sac A ");
        if (Contient(A, Num)) Terminal.ecrireString("contient au moins une");
        else                  Terminal.ecrireString("ne contient pas de");
        Terminal.ecrireStringln(" boule portant le numero "+Num);
     
        Terminal.ecrireString("le sac A ");
        if (Inclus(A, B)) Terminal.ecrireString("est");
        else              Terminal.ecrireString("n'est pas");
        Terminal.ecrireStringln(" inclus dans le sac B.");
     
        Terminal.ecrireString("A union B = ");
        Affiche(Union(A,B));
        Terminal.sautDeLigne();
     
        Terminal.ecrireString("A moins B = ");
        Affiche(Moins(A,B));
        Terminal.sautDeLigne();
     
        Terminal.ecrireString("A intersection B = ");
        Affiche(Intersection(A,B));
        Terminal.sautDeLigne();
      }
    }
    la question est de creer une class unSac qui va contenir ses methodes:
    public class unSac {
      ...
      public void Affiche() { ... }
      public void Lire() { ... }
      public boolean Contient(int num) { ... }
      public boolean InclusDans(unSac s) { ... }
      public unSac Union(unSac s) { ... }
      public unSac Moins(unSac s) { ... }
      public unSac Intersection(unSac s) { ... }
    }
    ses methodes existe deja dans le programme main comme static donc il faut les mettre dans cette class unSac et les supprimer dans main mais je sais pas mettre le code dans ces methodes.
    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Doctorant en informatique théorique
    Inscrit en
    Décembre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant en informatique théorique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 28
    Points : 32
    Points
    32
    Par défaut
    Salut.

    Utilise les balises de code (#) stp parce que la c est vraiment illisible

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Le mieux pour débuter est de passer faire un tour sur la page des cours : http://java.developpez.com/cours

    Tu y trouveras toutes les explications dont tu as besoin.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

Discussions similaires

  1. static ou non static?
    Par wassim_boy dans le forum JDBC
    Réponses: 3
    Dernier message: 06/01/2012, 15h22
  2. Du non static context au static context
    Par JeanNoel53 dans le forum NetBeans
    Réponses: 14
    Dernier message: 29/12/2010, 19h28
  3. Réponses: 3
    Dernier message: 21/02/2010, 19h09
  4. [Debutant]difference entre static et non static
    Par jeremypd dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/03/2008, 08h13
  5. Static et non static. Comment faire?
    Par cmako dans le forum Langage
    Réponses: 16
    Dernier message: 19/09/2007, 23h03

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