Java Problème avec la collection ArrayList
Résolu/Fermé
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
-
24 mars 2009 à 13:54
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 24 mars 2009 à 16:43
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 24 mars 2009 à 16:43
A voir également:
- Java Problème avec la collection ArrayList
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
13 réponses
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 15:10
24 mars 2009 à 15:10
J'ai utilisé la généricité et c'est ok ;)
ArrayList<Integer> liste= new ArrayList<Integer>(); liste.add(Integer.parseInt(str[0])); liste.add(Integer.parseInt(str[1])); liste.add(Integer.parseInt(str[2])); liste.add(Integer.parseInt(str[3])); char classe = ' '; if(liste.get(0) < 127 && liste.get(0) > 0) { System.out.println("Votre addresse ip est de Catégorie A");
batoune
Messages postés
538
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
4 avril 2017
96
24 mars 2009 à 15:12
24 mars 2009 à 15:12
Sa fait longtemp que j'ai pas fait de java, du coup je suis pas trop sur de moi, mais si je comprend bien ton probleme, tu voudrais remplacer sa :
par l'utilisation d'une array liste?
un peu comme dans cet exemple :
et le probleme dans cette exemple c'est que java ne permet pas de caster un element d'un arraylist en string.
essaye peut etre en déclarant ton array liste comme sa :
si sa marche il y aurra sans doute moin de soucis pour passer d'un element de l'ArrayListe a un string puis a un int comme tu essai de le faire dans cette ligne :
j'espere que sa t'aide un peu.
sinon tu peu toujour essayer de trouver des solution sur l'api java : "https://docs.oracle.com/javase/1.5.0/docs/api/"
int categorie = Integer.parseInt(str[0]); int H1 = Integer.parseInt(str[1]); int H2 = Integer.parseInt(str[2]); int H3 = Integer.parseInt(str[3]);
par l'utilisation d'une array liste?
un peu comme dans cet exemple :
ArrayList liste = new ArrayList(); liste.add(ip.split("\\.")) int categorie = Integer.parseInt((String) liste.get(0)); if(categorie < 127 && categorie > 0) { System.out.println("Votre addresse ip est de Catégorie A"); classe = 'A'; }
et le probleme dans cette exemple c'est que java ne permet pas de caster un element d'un arraylist en string.
essaye peut etre en déclarant ton array liste comme sa :
ArrayList <String> liste = new ArrayList();
si sa marche il y aurra sans doute moin de soucis pour passer d'un element de l'ArrayListe a un string puis a un int comme tu essai de le faire dans cette ligne :
int categorie = Integer.parseInt((String) liste.get(0));
j'espere que sa t'aide un peu.
sinon tu peu toujour essayer de trouver des solution sur l'api java : "https://docs.oracle.com/javase/1.5.0/docs/api/"
batoune
Messages postés
538
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
4 avril 2017
96
24 mars 2009 à 13:57
24 mars 2009 à 13:57
essai comme sa :
if((liste.get(0) < 127) && (liste.get(0) > 0)) {
if((liste.get(0) < 127) && (liste.get(0) > 0)) {
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 14:03
24 mars 2009 à 14:03
Ben non le blem n'est pas dans la syntaxe mais dans la liste chainé mise comme condition
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
batoune
Messages postés
538
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
4 avril 2017
96
24 mars 2009 à 14:08
24 mars 2009 à 14:08
Et sa te met quoi comme erreur exactement?
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 14:11
24 mars 2009 à 14:11
J'ai essayé autre chose :
exécution :
Entrez une adresse ip !
23.22.33.22
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
at ip.main(ip.java:28)
ArrayList liste = new ArrayList(); liste.add(ip.split("\\.")) int categorie = Integer.parseInt((String) liste.get(0)); if(categorie < 127 && categorie > 0) { System.out.println("Votre addresse ip est de Catégorie A"); classe = 'A'; }
exécution :
Entrez une adresse ip !
23.22.33.22
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
at ip.main(ip.java:28)
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 14:19
24 mars 2009 à 14:19
Je pense que ce n'est pas possible d'utiliser les collections dans ce genre de programme étant donné quelles acceptent n'importe quelle type et je ne sais pas comment faire la distinctions entre les types dans le cas des listes chainés :(
batoune
Messages postés
538
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
4 avril 2017
96
24 mars 2009 à 14:22
24 mars 2009 à 14:22
La visiblement le probleme viens du fait que JAVA ne permet pas de caster le contenu de ta liste qui est du type : "Ljava.lang.String" en un type "java.lang.String".
Tu devrais peux etre essayer mettre "liste.get(0)" dans une variable String intermédiaire en fesant un truc du genre: String varIntermediaire = (liste.get(0)).toString();
et apres tu fais: int categorie = Integer.parseInt(varIntermediaire);
Je suis pas sur que sa marche mais tu peux essayer sa
Tu devrais peux etre essayer mettre "liste.get(0)" dans une variable String intermédiaire en fesant un truc du genre: String varIntermediaire = (liste.get(0)).toString();
et apres tu fais: int categorie = Integer.parseInt(varIntermediaire);
Je suis pas sur que sa marche mais tu peux essayer sa
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 14:33
24 mars 2009 à 14:33
Tu me demande de caster alors ? Un instant je vais essayer
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 14:43
24 mars 2009 à 14:43
Les listes chainés sont dynamique, cette démarche est trop long, tiens regarde le bout de code stp :
System.out.println("Entrez une adresse ip !"); Scanner sc = new Scanner(System.in); String ip = sc.nextLine(); if(!ip.matches("^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$")) System.err.println("Votre addresse ip est incorrecte"); else { String str[]=ip.split("\\."); int categorie = Integer.parseInt(str[0]); int H1 = Integer.parseInt(str[1]); int H2 = Integer.parseInt(str[2]); int H3 = Integer.parseInt(str[3]); char classe = ' '; if(categorie < 127 && categorie > 0) { System.out.println("Votre addresse ip est de Catégorie A"); classe = 'A'; }
batoune
Messages postés
538
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
4 avril 2017
96
24 mars 2009 à 14:50
24 mars 2009 à 14:50
Ben apres une premiere lecture ton bout de code m'a l'air correct
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 14:51
24 mars 2009 à 14:51
Il fonctionne le programme, mais il est statique avec des tableaux, moi je veux y inclure les collections si c'est possible dans ce code.
batoune
Messages postés
538
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
4 avril 2017
96
24 mars 2009 à 15:14
24 mars 2009 à 15:14
ah ben bravo!!!
j'etais en train de proposer un truc un peu dans le meme genre!!!
mais en plus compliquer!!
(faut vraiment que je me remette a java!!! lol)
j'etais en train de proposer un truc un peu dans le meme genre!!!
mais en plus compliquer!!
(faut vraiment que je me remette a java!!! lol)
Chabanus
Messages postés
978
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2011
70
24 mars 2009 à 16:43
24 mars 2009 à 16:43
Merci pour ton aide c'est très gentil :D