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

Langage Java Discussion :

Passer un boolean d'une classe à une autre avec une boucle


Sujet :

Langage Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut Passer un boolean d'une classe à une autre avec une boucle
    Bonjour

    j'ai un problème pour finaliser mon code

    le code est complet et correcte il me reste juste un test sur un boolean, je veux juste vous demande de m'aider comment faire ceci,

    Le code est un peux long

    Bon j'ai une interface où je choisis une ville et je clique sur un bouton ici je fait un teste avec une boucle en commençant par 4020 à 1 s'il trouve un numéro dans table il fait un bool=true sinon il appel l'autre classe

    Alors l'autre classe lance une commande unix sur ce numéro NON trouvé das la base de données (ICI où je me suis coincé)

    Aussi s'il trouve le numéro dans le résultat de la commande IL DOIT FAIRE UN BREAK et ne continue pas le traitement MAIS il doit retournée à la boucle et fait un -- sur ce numéro trouvé SINON s'il ne trouve pas ce numéro alors il l'insère à la table

    Voilà le code pour le bouton et la boucle pour le premier test s'il est dans la base
    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
     
    VLAN vlan=new VLAN();
            try {
                if (jComboBox6.getSelectedIndex()>-1){
    conn = Connexion.getConnection(db6);  
    stmt = conn.createStatement();
    ResultSet res=stmt.executeQuery( "SELECT VLAN FROM tout ");                        
            for(vl=3749;vl>1;vl--) {
    while(res.next())
                    {
                        boolean found = false;
                       if(Integer.parseInt(res.getString(1))==vl)
                       {
                           found = true;
                           break;
                       }
                       else if (!found){
     vlan.Config("172.16.2.133", "user", "pass",vl);
     vlan.disconnect();
      break;
                    }
                       }             
                   }
     
        }
    ET voilà le code du classe vlan lorsqu'il ne trouve pas le numéro dans la base il passe à cette classe
    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
     
    public VLAN() {
     
        }
        public String Config(String server, String user, String password,Integer vl) {
             try {
                 conn = Connexion.getConnection(db6);
             } catch (Exception ex) {
                 Logger.getLogger(VLAN.class.getName()).log(Level.SEVERE, null, ex);
             }
            JFrame controllingFrame = null;
     
            try {
               // Connect to the specified server
     
                in = telnet.getInputStream();
                out = new PrintStream(telnet.getOutputStream());
     
     
                char ch;
                StringBuffer sa = new StringBuffer();
                do {
                    ch = (char) in.read();
                    sa.append(ch);
                } while (ch != '>' && ch != '#' && !sa.toString().contains("Username: ") && !sa.toString().contains("Password:"));
     
                if (sa.toString().contains("Username: ")) {
                    write1(user);
                    readUntil1("Password: ");
                    writePass(password);
     
                    sa = new StringBuffer();
                    do {
                        ch = (char) in.read();
                        sa.append(ch);
     
                    } while (ch != '>' && ch != '#' && ch != '%');
     
                   if (ch == '>') {
                        write1("en");
                        readUntil1("Password: ");
                        writePass(password);
                        StringBuffer sb = new StringBuffer();
     
     try{
                    stmt = conn.createStatement();
                    ResultSet res=stmt.executeQuery("select * from router");
                    while(res.next()){
    // Version 2700 3800
           if(Integer.parseInt(res.getString(3))==7200 || Integer.parseInt(res.getString(3))==3800)  {                               
                write1("sh int des | in "+vl);
                readUntil1("sh int des | in "+vl);
                do {
                    ch = (char) in.read();
                    sb.append(ch);
                   } while (ch!=13 && ch!=10);
                System.out.print(sb);
                do {
                    ch = (char) in.read();
                    sb.append(ch);
                   } while (!sb.toString().contains("Fa") && !sb.toString().contains("#"));                         
                  if(sb.toString().contains("Fa")){
                    do {
                    ch = (char) in.read();
                    sb.append(ch);
                   } while (ch!=32);
                    //System.out.print(sb);
     
                String temp=sb.toString().trim();
                int pos = temp.lastIndexOf(".") + 1;
                String vlan = temp.substring(pos, temp.length());
    System.out.print("Vlan est : "+vlan.trim()+"\n");          
    if(Integer.parseInt(vlan.trim())==vl){
        System.out.print("\n exist \n");// ICI OU IL DOIT APPELER LE BOOLEAN ET SORTIR, NE CONTINUER PAS IL DOIT SORTIE ET FAIT UN -- SUR LE NUMERO TROUVE ICI
        sb = new StringBuffer();
        in.close();
                        out.close();
                        telnet.disconnect();
                        return "";
    }
    else {
        System.out.print("\n VLAN LIBRE! \n");
        requete(conn,vl);
                        in.close();
                        out.close();
                        telnet.disconnect();
                        return "";
     
    }
                }else if(sb.toString().contains("#"))
                {System.out.print("VLAN N'EXISTE PAS");
                    requete(conn,vl);
                        in.close();
                        out.close();
                        telnet.disconnect();
                        return "";}
                }
    Donc j'ai commenté la partie où je dois faire le boolean
    BON Lorsque le Boolean recoit true c'est à dire soit il le trouve au début dans la base soit il le trouve dans le résultat de la commande il doit retourner un true break et un -- su ce numéro
    S'il ne le trouve pas il vas continuer jusqu'à ce qu'il trouve un numéro existe soit dans la base soit dans le résultat de la commande pour quitter le processus

    Merci j’espère vous arrivez à comprendre ce que je veux parce que je sais que c'est compliqué

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Citation Envoyé par cisco.nat Voir le message
    Merci j’espère vous arrivez à comprendre ce que je veux parce que je sais que c'est compliqué
    Honnêtement non.. C'est un peu le foutoir j'avoue ne pas trop avoir envie d'y mettre le nez dedans désolé..

    Je te conseille de découper ton code en plusieurs fonctions pour éclaircir ton code et gagner en lisibilité. De plus ça t'évitera des boucle, de boucle, de boucle, de boucle... qui sont une vrai plaie à lire/debuger.

    passer un boolean d'une classe à une autre avec une boucle
    Pour passer des valeurs à d'autres classes pourquoi tu n'utilises pas un getter sur ta variable ?

    Cdt.

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    Bon les boucles je peux parce que c'est de cette façon que je puisse parcourir les résultats des commandes , et pour le boolean je sais pas comment faire je connais les getters mais comment le boolean va retourner à la boucle for de la première classe
    Bon merci en tout cas

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/12/2008, 02h12
  2. Réponses: 4
    Dernier message: 06/04/2008, 18h34
  3. Héritage d'une classe MFC et d'une classe non MFC
    Par Etienne Paquette dans le forum MFC
    Réponses: 7
    Dernier message: 04/12/2007, 20h19
  4. Réponses: 2
    Dernier message: 30/12/2006, 13h34
  5. Réponses: 14
    Dernier message: 15/12/2005, 18h46

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