Se connecter / S'enregistrer
Votre question
Résolu

mot bizarre [I@6750cf54 affiche avec mon output

Tags :
  • Java
  • Programmation
  • Thread
  • Programme
Dernière réponse : dans Programmation
23 Septembre 2016 11:24:07

bonjour

Quand j'ai exécuté mon programme,
dans mon output il y un mot bizarre s' affiche ,voilà ceci " [I@6750cf54 "
que signifie t'il et comment l'enlever ce mot, veuillez m'aidez svp

voilà mon output:
Saissisez un numéro : 4
Saissisez un numéro : 5
Saissisez un numéro : 6
Saissisez un numéro : 7
Saissisez un numéro : 8
[I@6750cf54
4, 5, 6, 7, 8, [I@6750cf54

le bute de programme est faire saisir les éléments du tableau et les afficher.


voilà mon prgrame
  1. import java.util.Scanner;
  2. public class TabVar
  3. {
  4. int max=5;
  5. int taille;
  6. int[] tab;
  7.  
  8. public TabVar(int taille,int[] tab2)
  9. {
  10. this.taille=taille;
  11. this.tab=tab2;
  12. }
  13. public int[] saisi()
  14. {
  15. Scanner sc=new Scanner(System.in);
  16. for(int i=0;i<tab.length;i++)
  17. {
  18. System.out.print("Saissisez un numéro : ");
  19. tab[i]=sc.nextInt();
  20. }
  21. return tab;
  22. }
  23. public int[] afficher()
  24. {
  25. for(int i=0;i<tab.length;i++)
  26. {
  27. System.out.print(tab[i]+", ");
  28.  
  29. }
  30. return tab;
  31. }
  32. }
  33.  
  34. public class TestTabVar
  35. {
  36. public static void main(String[] args)
  37. {
  38. int max=5;
  39. int tab[]=new int[max];
  40. TabVar toto=new TabVar(5,tab);
  41. System.out.println(toto.saisi());
  42. System.out.println(toto.afficher());
  43. }
  44. }

Autres pages sur : mot bizarre 6750cf54 affiche output

23 Septembre 2016 16:51:15

Bonjour, c'est que tu utilise une fonction qui retourne ton tableau, tu devrais plutôt utiliser une procédure dans cette situation :
  1. public void saisi()
  2. {
  3. Scanner sc=new Scanner(System.in);
  4. for(int i=0;i<tab.length;i++)
  5. {
  6. System.out.print("Saissisez un numéro : ");
  7. tab[i]=sc.nextInt();
  8. }
  9.  
  10. }
  11. public void afficher()
  12. {
  13. for(int i=0;i<tab.length;i++)
  14. {
  15. System.out.print(tab[i]+", ");
  16.  
  17. }
  18.  
  19. }
  20. }


m
0
l
23 Septembre 2016 16:59:59

merci pour votre aide
maintenant j'ai une autre question dans la méthode getTaille
taille de mon tableau est 5 et ajoute 1 plus chaque fois quand je rentre "oui"
après avoir tapé 2 oui et je tape un mon taille de tableau montre huit au lieu de 7
vous pouvez m'aider svp
mon output est la suivante
Saissisez un numéro : 4
Saissisez un numéro : 5
Saissisez un numéro : 6
Saissisez un numéro : 7
Saissisez un numéro : 8
Vous avez entrez les numéros suivantes :
4, 5, 6, 7, 8,
Après modification tableau :
4, 5, 3, 7, 8,
Voulez vous entrer un entier (oui/non)oui
Voulez vous entrer un entier (oui/non)oui
Voulez vous entrer un entier (oui/non)non
Au revoir....La taille du tableau est :8
  1. import java.util.Scanner;
  2. public class TabVar
  3. {
  4. private final int max=5;
  5. private int taille;
  6. private int[] tab;
  7.  
  8. public TabVar(int taille,int[] tab2)
  9. {
  10. this.taille=taille;
  11. this.tab=tab2;
  12. }
  13. public void getSaisie()
  14. {
  15. Scanner sc=new Scanner(System.in);
  16. for(int i=0;i<tab.length;i++)
  17. {
  18. System.out.print("Saissisez un numéro : ");
  19. tab[i]=sc.nextInt();
  20. }
  21. }
  22. public void getAfficher()
  23. {
  24. for(int i=0;i<tab.length;i++)
  25. {
  26. System.out.print(tab[i]+", ");
  27. }
  28. }
  29.  
  30. public void getTaille()
  31. {
  32. System.out.println();
  33. String reponse="oui";
  34. do
  35. {
  36. System.out.print("Voulez vous entrer un entier (oui/non)");
  37. Scanner sc1=new Scanner(System.in);
  38.  
  39. reponse=sc1.nextLine();
  40. taille++;
  41. }
  42. while((reponse.equals("oui"))||(taille<=max));
  43.  
  44. System.out.print("Au revoir....");
  45. System.out.print("La taille du tableau est :"+(taille));
  46. }
  47. }
  48.  
  49. public class TestTabVar
  50. {
  51. public static void main(String[] args)
  52. {
  53. int max=5;
  54. int tab[]=new int[max];
  55. TabVar toto=new TabVar(5,tab);
  56. toto.getSaisie();
  57. System.out.println("Vous avez entrez les numéros suivantes :");
  58. toto.getAfficher();
  59. tab[2]=3;
  60. System.out.println("\nAprès modification tableau :");
  61. toto.getAfficher();
  62. toto.getTaille();
  63. }
  64. }
m
0
l
23 Septembre 2016 17:11:55

Il faudrait que la variable taille soit à 0 au départ car avec do...while il y a un passage assuré à l'intérieur de la boucle. donc si taille=1 au début, dès que l'usager dit le premier "oui" tu le monte à 2.
m
0
l
23 Septembre 2016 17:17:32

je viens de voir aussi : tu augmente taille même s'il répond "non" au premier ou au dernier passage dans ton code :

  1. public void getTaille()
  2. {
  3. System.out.println();
  4. String reponse="oui";
  5. do
  6. {

Ici il pose la question :
  1. System.out.print("Voulez vous entrer un entier (oui/non)");
  2. Scanner sc1=new Scanner(System.in);
  3.  
  4. reponse=sc1.nextLine();<

ici tu augmente la taille de 1 :
  1. taille++;
  2. }

Et ici tu arrête la boucle si la réponse était "non"
  1. while((reponse.equals("oui"))||(taille<=max));
  2.  
  3.  
  4.  
  5. System.out.print("Au revoir....");
  6.  
  7. System.out.print("La taille du tableau est :"+(taille));
  8.  
  9. }
  10.  
  11. }

m
0
l
23 Septembre 2016 17:21:20

oui c'est ça ma question je demande que je dois faire?
si je met taille =1 avant le do boucle s'arrête pas
m
0
l
23 Septembre 2016 17:24:18

je peux faire dans la dernière ligne:
System.out.print("La taille du tableau est :"+(taille-1));
mais c'est pas jolie à voir
m
0
l
23 Septembre 2016 17:27:30

ajoute un IF avant d'incrémenter la taille. pour vérifier que la réponse est bien "oui"
m
0
l

Meilleure solution

23 Septembre 2016 17:35:36

c'est ça
public void getTaille()
{
System.out.println();
String reponse="oui";
do
{
System.out.print("Voulez vous entrer un entier (oui/non)");
Scanner sc1=new Scanner(System.in);

reponse=sc1.nextLine();
if(reponse.equals("oui"))
{
taille++;
}
}
while((reponse.equals("oui"))||(taille<=max));
System.out.print("Au revoir....");
System.out.print("La taille du tableau est :"+(taille));
}
ok ça marche mon programme merci beaucoup
partage
23 Septembre 2016 17:37:52

Heureux si j'ai pu t'aider !
m
0
l