Insertion d'entiers séparés par un espace ds un arraylist

Insertion d'entiers séparés par un espace ds un arraylist - Java - Programmation

Marsh Posté le 13-03-2006 à 21:34:47    

Bonjour, je cherche à faire rentrer a l'utilisateur une chaine d'entier de la forme " 4 3 2 1". Je voudrais que java prenne un à un ses valeurs et les rangent  dans un arraylist (il faut donc qu'a chaque fois qu'il rencontre une espace il place la valeur précédente dans l'arraylist. Si vous pouviez m'aider, merci!

Reply

Marsh Posté le 13-03-2006 à 21:34:47   

Reply

Marsh Posté le 13-03-2006 à 21:40:59    

Sous Java 1.4 et Java 5 (mais pas Java 1.3 ou plus ancien), méthode String.split().
 
Et pourquoi le sortir sous forme d'ArrayList?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-03-2006 à 22:34:35    

en fait ca serait pour le comparer avec une autre arraylist... Je suis actuellement entrain de faire un TP qui oblige l'utilisation d'arraylist.  
A moins que le fait des les mettre dans un string rende le truc plus facile...

Reply

Marsh Posté le 13-03-2006 à 22:42:23    

C'est à dire comparer?
 
Tu dois comparer deux chaînes pour savoir si elles contiennent les mêmes entiers?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-03-2006 à 23:47:11    

exactement, je vérifie que l'entier a la position 1 dans arraylist1 est égal ou non avec l'entier a la position 1 dans arraylist2, ou bien simplement que  l'entier a la position1 dans arraylist1 est présent dans arraylist2, quel que soit sa position dans arraylist2.
 
Oui bon, c'est pas tres clair hein... T'as compris?

Reply

Marsh Posté le 14-03-2006 à 00:07:25    

J'ai bien compris, mais c'est con de faire la comparaison à la main alors que les listes ont une méthode .equals.
 
Accessoirement, si tu es sous Java 1.4 ou Java5, String.split te sort une List sur laquelle ça fonctionne aussi, donc tu peux faire un truc du genre
 

Code :
  1. Arrays.asList(string1.split("\\s" )).equals(Arrays.asList(string2.split("\\s" )))


(\s, dans les expressions rationnelles, est le caractère "matchant" un whitespace)
 
Avec string1 et string2 tes deux listes à comparer.
 
Exemple:

Code :
  1. import java.util.Arrays;
  2. class SplitTest {
  3.    public static void main(String[] args) {
  4.        if(SplitTest.cmp("6 3 7 0 8 5 4 1 9 2", "6 3 7 0 8 5 4 1 9 2" )){
  5.            System.out.println("Test 1 ok" );
  6.        }else{
  7.            System.out.println("Test 1 fail" );
  8.        }
  9.  
  10.        if(!SplitTest.cmp("5 6 4 1 7 0 3 2 9 8", "3 4 6 0 9 8 2 5 7 1" )){
  11.            System.out.println("Test 2 ok" );
  12.        }else{
  13.            System.out.println("Test 2 fail" );
  14.        }
  15.    }
  16.  
  17.    public static boolean cmp(String string1, String string2) {
  18.        return Arrays.asList(string1.split("\\s" )).equals(Arrays.asList(string2.split("\\s" )));
  19.    }
  20. }


Message édité par masklinn le 14-03-2006 à 00:08:04

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 14-03-2006 à 08:28:41    

ido- a écrit :

exactement, je vérifie que l'entier a la position 1 dans arraylist1 est égal ou non avec l'entier a la position 1 dans arraylist2, ou bien simplement que  l'entier a la position1 dans arraylist1 est présent dans arraylist2, quel que soit sa position dans arraylist2.
 
Oui bon, c'est pas tres clair hein... T'as compris?


 
C'est un problème d'interprétation de l'énoncé. Faudrai que tu nous le donnes.


Message édité par powel42 le 14-03-2006 à 08:53:07
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed