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

  FORUM HardWare.fr
  Programmation
  Java

  Probleme d'affichage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'affichage

n°1654770
akalaan
Posté le 07-12-2007 à 18:56:08  profilanswer
 

Bonjour à tous,
 
Etant novice dans la programmation et encore plus en java, j'aurais besoin de votre aide.
 
Je veux mettre au point une petite interface graphique dans laquelle j'ai des zones de saisies dans lesquelles je rentre des décimal.
Je veux par la suite appliqué à la valeur de ce champ (JTextField) une conversion me donnant le binaire de cette valeur.
 
J'ai mon interface et mon code de conversion mais lorsque j'apelle celui-ci(conversion), ça refuse de lancer l'application.
Je pense que je ne renvoie pas correctement la valeur.
 
Voici les erreurs générées sous Eclipse :

Code :
  1. Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
  2. at cidr.Affichage.Conversion(Affichage.java:121)
  3. at cidr.Affichage.actionPerformed(Affichage.java:101)
  4. at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  5. at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  6. at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  7. at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  8. at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  9. at java.awt.Component.processMouseEvent(Unknown Source)
  10. at javax.swing.JComponent.processMouseEvent(Unknown Source)
  11. at java.awt.Component.processEvent(Unknown Source)
  12. at java.awt.Container.processEvent(Unknown Source)
  13. at java.awt.Component.dispatchEventImpl(Unknown Source)
  14. at java.awt.Container.dispatchEventImpl(Unknown Source)
  15. at java.awt.Component.dispatchEvent(Unknown Source)
  16. at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  17. at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  18. at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  19. at java.awt.Container.dispatchEventImpl(Unknown Source)
  20. at java.awt.Window.dispatchEventImpl(Unknown Source)
  21. at java.awt.Component.dispatchEvent(Unknown Source)
  22. at java.awt.EventQueue.dispatchEvent(Unknown Source)
  23. at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  24. at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  25. at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  26. at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  27. at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  28. at java.awt.EventDispatchThread.run(Unknown Source)


 
voici la methode conversion
 

Code :
  1. public String Conversion(String val){
  2.  int a = Integer.parseInt(val);
  3.  int i;
  4.  int reste = 0;
  5.  String R=" ";
  6.  int tab[] = new int[8];
  7.  for (i=0;i<tab.length;i++){
  8.   tab[i]=0;
  9.  }
  10.  while(a!=0){
  11.   reste=a%2;
  12.   a=a/2;
  13.   tab[tab.length-i-1]=reste;i++;
  14.   }
  15.  for (i=0;i<tab.length;i++){
  16.   R += tab[tab.length-i-1];
  17. }
  18.  return R;
  19. }


 
Voici ce que j'utilise pour afficher

Code :
  1. public void actionPerformed(ActionEvent e){
  2.  if(e.getSource() == bouton){
  3.   label1.setText(Conversion(val1.getText()));
  4. }


 
Pourriez vous m'aider car je ne comprend pas l'erreur sauf que ces dût à un probleme d'évènement.
 
Merci d'avance,
 
Cordialement.

mood
Publicité
Posté le 07-12-2007 à 18:56:08  profilanswer
 

n°1654776
did-54
Posté le 07-12-2007 à 19:17:35  profilanswer
 

Citation :

java.lang.ArrayIndexOutOfBoundsException: -1


Non, tu te viandes dans les index de tableaux.

n°1654778
akalaan
Posté le 07-12-2007 à 19:23:51  profilanswer
 

oula,pourrais tu éclairer ma lanterne stp

n°1654784
akalaan
Posté le 07-12-2007 à 19:50:52  profilanswer
 

Effectivement j'avais un probleme d'index, merci de ta remarque, je n'avais qu'a mieux lire.
 
En revanche maintenant cela fonctionne mais lorsque je saisi une valeur autre que 0, cela me renvoi toujours 11111111 au lieu de me donner la valeur binaire.
Je pense que la aussi j'ai un pb d'insertion de donner.
Voici le nouveau code  

Code :
  1. public String Conversion(String val){
  2.  int a = Integer.parseInt(val);
  3.  int i =0;
  4.  int reste = 0;
  5.  String R=" ";
  6.  int tab[] = new int[8];
  7.  for (i=0;i<tab.length;i++){
  8.   tab[i]=0;
  9.  }
  10.  while(a!=0){
  11.   reste=a%2;
  12.   a=a/2;
  13.   for(i=0;i<tab.length;i++){
  14.   tab[(tab.length)-i-1]=reste;
  15.   }
  16.  }
  17.  for (i=0;i<tab.length;i++){
  18.   R = R+tab[(tab.length)-i-1];
  19.  }
  20.  return R;
  21. }

n°1654794
breizhbugs
Posté le 07-12-2007 à 20:32:32  profilanswer
 

akalaan a écrit :


En revanche maintenant cela fonctionne mais lorsque je saisi une valeur autre que 0, cela me renvoi toujours 11111111 au lieu de me donner la valeur binaire.


c'est peut etre parce que tu ne fais pas une conversion binaire tout simplement!
Revoi ton algorithme et essaie le avec de petit chiffre par exemple 5! le probleme est dans ta premiere boucle 'for' il me semble!


Message édité par breizhbugs le 07-12-2007 à 20:51:06
n°1657131
akalaan
Posté le 12-12-2007 à 13:52:40  profilanswer
 

Re bonjour à tous,
 
J'ai finalement reussi par convertir de décimal à binaire mais maintenant je voudrais savoir si il est possible de passer tous les elements d'un tableau dans un String.
 
CAD, si mon tableau[8] est composé de 1 et de 0, est il possible de passer tous les élements dans un String pour pouvoir afficher les 1 et 0, car ma méthode renvoi un String.
 
Merci d'avance,
 
 
Voici le code de ma méthode, quand j'affiche le tableau avec un SOP ça affiche ce que je veut.
 

Code :
  1. public String ConversionDecToBin(String s){
  2.  String test ="";
  3.  int a = Integer.parseInt(s);
  4.  int b=0,i,j=0,k,reste=0;
  5.  int[] tab = new int[8];
  6.  for(i=0;i<tab.length;i++)
  7.   tab[i]=0;
  8.  while(a>0){
  9.   reste = a%2;
  10.   tab[j]=reste;
  11.   j++;
  12.   a=a/2;
  13.  }
  14.  for (k=0;k<tab.length;k++)
  15.   System.out.println(tab[k]);
  16.  return test;
  17. }

n°1657141
akalaan
Posté le 12-12-2007 à 14:22:09  profilanswer
 

Bon et bien fianelement j'ai trouvé.
 
voici ma solution

Code :
  1. for (k=0;k<tab.length;k++)
  2.   test=test.concat(String.valueOf(tab[k]));
  3.  return test;


 
Merci quand même

n°1657163
brisssou
8-/
Posté le 12-12-2007 à 14:55:06  profilanswer
 

StringBuffer c'est bien aussi.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

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

  Probleme d'affichage

 

Sujets relatifs
Problème affichage du text dans un fichier après OpenTextFileprobleme affichage de caractères
probleme d' affichage sous firefoxHTML (?) - Probleme affichage texte trop large.
[AJAX] Problème pour affichage de l'heuretexbox listox access ado probleme d'affichage
Problème sur l'affichage d'imagesProblème d'affichage avec certains ordinateur qui ont ie7
Problème avec boucle et affichageprobleme d affichage video en html
Plus de sujets relatifs à : Probleme d'affichage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR