Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4624 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  programe sans réponse

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

programe sans réponse

n°1188942
Profil sup​primé
Posté le 31-08-2005 à 18:12:35  answer
 

Bonjour,
 
J'ai un programe qui reste sans réponse quand 3 boucles imbriquées se terminent.Plus aucun controle ne répond.
Connaissez vous une solution pour résoudre se probleme?
 
Merci.

mood
Publicité
Posté le 31-08-2005 à 18:12:35  profilanswer
 

n°1188967
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 31-08-2005 à 18:36:40  profilanswer
 

peut etre que si tu postais ton code, ça aiderait ? parce que personne ici n'est devin hein :sarcastic:


Message édité par Harkonnen le 31-08-2005 à 18:36:53
n°1189040
bartleby
Posté le 31-08-2005 à 19:58:10  profilanswer
 

Si moi:
 
Le probleme est a la ligne 456.
 
Je t'en prie

n°1189060
Profil sup​primé
Posté le 31-08-2005 à 20:51:14  answer
 

Harkonnen a écrit :

peut etre que si tu postais ton code, ça aiderait ? parce que personne ici n'est devin hein :sarcastic:


Voila le code ou il semble avoir le probleme:

Citation :

for (int  retur13 = 1; retur13 < 71; retur13 ++){
    for (int  retur12 = 0; retur12 < 70; retur12 ++){
      for (int  retur14 = 0; retur14 < 10; retur14 ++){
       textField1.setText(""+table.getValueAt(retur12,retur14));
        String f = textField1.getText();
        String g = "-" + retur13 + "-";
        int location = f.indexOf(g);
        textField1.select(location,location + g.length());
        if(textField1.getSelectedText().equals(g)){
textArea1.append(retur13+": " +retur14+";"+retur12+ "\n" );}
 
    }}}

n°1189061
Profil sup​primé
Posté le 31-08-2005 à 20:54:17  answer
 

les boucles s'achevent jusqu'au bout bout mais ensuite l'application ne répond plus et je suis obligé de faire un petit ctrl/alt + suppr pour le fermer.

n°1189123
the real m​oins moins
Posté le 31-08-2005 à 23:25:20  profilanswer
 

[:ciler]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1189237
Profil sup​primé
Posté le 01-09-2005 à 10:15:02  answer
 

A tout hasard, tu ne crées pas un Thread avec une boucle "while(true)" ou qui ne finit jamais dedans ?
Ou bien une interface graphique ( fenêtre ), et pour laquelle - quand tu la ferme - tu n'appelles pas un System.exit(0) mais un truc du genre this.dispose() ?
Cela expliquerait ton problème.
Il nous en faut un peu plus comprendre, tes boucles ont l'air correct.
 

n°1189805
Profil sup​primé
Posté le 01-09-2005 à 18:40:46  answer
 

Non j'utilise pas de thread avec une boucle while et j'appelle bien un System.exit(0) pour fermer la fenetre,par contre si je passe la valeur retur13 < 71 à retur13 < 10 le programe ne plante plus.Je pensais à un probléme venant de la mémoire mais j'en suis pas certain.
 
Une fois que les boucles sont terminées ,ce que j'arrive a visualiser plus aucun controle ne marche , comme si le programe était occupé, pourtant apres ce petit code il y a plus aucune tache à éxécuter.

n°1189815
bartleby
Posté le 01-09-2005 à 18:58:18  profilanswer
 

Wow, c'est une veritable boucherie ton code !
 
Quoi qu'il en soit, ton probleme ne vient pas de ce bout de paté, c'est une certitude.

n°1191433
grimgroth
Posté le 03-09-2005 à 23:59:12  profilanswer
 

C'est juste une idée qui vaut ce qu'elle vaut...
Au total tu fais dans les 49000 itérations avec ces trois boucles for imbriquées.
Je ne sais pas trop combien de temps prend chacune d'elle ni sur quel processeur tu fais tourner ça, mais ça vient peut-etre juste du fait que c'est long... t'as qu'à faire un affichage comme ça

Code :
  1. for (int  retur13 = 1; retur13 < 71; retur13 ++){
  2.     /*******************************/
  3.     System.out.println("itération " + retur13);
  4.     /*******************************/
  5.     for (int  retur12 = 0; retur12 < 70; retur12 ++){
  6.       for (int  retur14 = 0; retur14 < 10; retur14 ++){
  7.        textField1.setText(""+table.getValueAt(retur12,retur14));
  8.         String f = textField1.getText();
  9.         String g = "-" + retur13 + "-";
  10.         int location = f.indexOf(g);
  11.         textField1.select(location,location + g.length());
  12.         if(textField1.getSelectedText().equals(g)){
  13. textArea1.append(retur13+": " +retur14+";"+retur12+ "\n" );}
  14.     }}}

 
Teste ça et tiens nous au courant. Tu peux aussi changer la place de l'affichage pour voir.
 
PS: si c'est complétement idiot ce que je dis, le martinet est sur l'étagère du haut.


Message édité par grimgroth le 03-09-2005 à 23:59:47

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  programe sans réponse

 

Sujets relatifs
creer un lien qui depend d'une reponse a une requete sqlASP + sql server temps de reponse
[qst] envoyer signal port // après réponse negative à un pingChallenge dont je ne trouve pas la reponse
Changement de page si pas de réponseProblem de reponse provenant d un socket (timing?)
VBA-Combobox, la réponse du comboboxPb surement tout bete mais je trouve pas la reponse : mysql_num_rows
J2ME -> Utilisation de KXmlRPC: blocage au 256ème caractère de réponse[PHP][C#] Envoi de paramettres par http vers du php et réponse
Plus de sujets relatifs à : programe sans réponse


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)