Tom's Guide > Forum > Programmation > lecture d'un entier dans une string

lecture d'un entier dans une string

Forum Programmation : lecture d'un entier dans une string

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

quelqu'un pourrait-il m'expliquer comment marche exactement la méthode parseInt de la classe Integer?
Ex: int i= Integer.parseInt(args[0])
Sachant que quand args=1 le programme affiche une seule fois ce que j'ai passé sur ma ligne de commande, quand args=2, le programme affiche deux fois.....
merci :-o :-o :-o :-o :-o :-o :-o :-o :-o :-o :-o :-o

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

C'est difficile de savoir ce que fait ton programme si tu ne mets pas le code...
la méthode parseInt essaye de convertir la chaine de caractères passée en paramètre en un entier.
Integer.parseInt("5" ) ça renvoit l'entier 5 , mais si tu lui passe n'importe quoi en paramètre, comme "choucroute", je ne me souviens plus exactement, mais je pense que la méthode lance une exception.

Répondre à Palmic

quel langage au fait ? :-?

Répondre à sylvain2

c'est du Java, c'est vrai que c'est toujour mieux de preciser quand on pose une question!

int i= Integer.parseInt(""+args[0]);

Faut lui paser du string, donc essai ca, mais je pense pas que ce soit le probleme!

Met 3 ou 4 lignes de code autour du probleme!

Répondre à mr_keyser

en gros je dois déduire un programme qui affiche autant de fois Bonjour! que spécifié par un entier passé sur la ligne de commande
public class Bonjour2
{
public static void main(String []args)
{
int i= Integer.parseInt;
System.out.println("Bonjour!" );
}
}
et ça marche pas :-(

Répondre à monteiffel

et quand je tape java Bonjou2 3
j'attends que le programme m'affiche
Bonjour!
Bonjour!
Bonjour!

Répondre à monteiffel

fait une boucle for. rien de plus facil.

Répondre à Resurectin

lol
Bon deja je vois que sylvain avait pas reconnu java ;)
Ensuite faudrait faire un peu d algo pour comprendre que tu as besoin d une boucle pour faire ce que tu veux.
Voici un code commenté qui t expliquera comment faire ton programme :

Code :
  1. public class Bonjour{
  2.       public static void main(String [] parametres){
  3.       /* on teste en premier lieu, qu'il y a au moins un parametre passé au programme */
  4.             if( parametres.length >=1){
  5.             /* maintenant nous allons afficher bonjour le nombre de fois qu indiquer dans le parametre. En revanche, il ne faut pas oublier de gerer l exception si jamais les caracteres sont autres que numerique (pas exemple des lettres), cette erreur peut etre generee par la methode parseInt de la classe Integer */
  6.             /* on fait ceci avec try{}catch(){} */
  7.                     try{
  8.                     /* boucle qui affiche autant de fois bonjour que specifier en parametre. Si le parametre n est pas une valeur entiere une erreur de type NumberFormatException est generée et affiche le message "L argument est invalide". */
  9.                         for(int i = 0; i < Integer.parseInt(parametres[0]);i++)
  10.                                     System.out.println("Bonjour" );
  11.                     }catch(NumberFormatException e){System.out.println("L'argument est invalide" );}
  12.               }else System.out.println("Il manque le parametre" );
  13.  
  14.               System.out.println("Fin du programme :p" );
  15.         }
  16. }



Voila, petite note tu peux mettre autre chose que String[] args comme nom de variable comme je l ai fais ;)

Et lorsqu il n y a qu une instruction dans une boucle ou dans un test on est pas obligé de mettre les {} sinon faut mettre for( ... ){ //le code }


see ya

PS : desolé pour l indentation mais la balide code du forum est pas geniale ;)

Répondre à Dunkel

Quand a comment marche la methode parseInt, il exite ce qu on appelle la javadoc, qui explique toutes les API, classe methode, et elle est sur java.sun.com ou tu peux la dl.

Donc faudrait ptre chercher avant ^^

parseInt :
Parameters:
s - a String containing the int representation to be parsed
Returns:
the integer value represented by the argument in decimal.
Throws:
NumberFormatException - if the string does not contain a parsable integer.


Y a rien a comprendre de plus tout est dit.

Tu fais :

int ma_valeur = Integer.parseInt(variable_de_type_String);

et ceci te retourne un entier dans ma_valeur si variable_de_type_String est une representation numérique sinon ca te retourne une erreur de type NumberFormatException.
Je sais c'est en anglais mais c est loin d etre du haut niveau, la preuve je le comprends lol

Dans le code de tout a l heure, j utilisais la methode directement dans un test, plutot que de l affecter a une variable. Mais les deux sont valables
D ailleurs je pense que j aurais du le mettre dans une variable plutot qu en test, le programme s executerai ptre plus vite.
Car la convertion du String est ptre plus longue que la simple lecture. Avoir avec les methodes de la Class System pour calculer le temps d execution d une instruction.... :p

Mais bon a l echelle humaine on ne le voit pas :p c est de l ordre du milliseconde

Répondre à Dunkel

au debut j ai compris" lecture d un dentier dans un string" en lisant le titre du topic mdr

Répondre à survivor@IDN

@ dunkel : ça pouvait être du java, du javascript ou du vbscript pour asp, d'où ma question :-P

Répondre à sylvain2

lol je sais je disais ca pour t embeter mdr;)

Répondre à Dunkel

à ta place, j'aurai répondu que dans son 1er post, il parlait de ligne de commande, donc par élimination ça pouvait être que du java :biggrin:

Répondre à sylvain2

merci pour le tuyau et surtout pour les commentaires, j'ai pû comprendre enfin ce problème.
Je sais qu'il existe une documentation java mais je n'arrive pas à m'en servir lol*
si elle était organisée comme un dico je pense que j'y arriverais mais là j'avoue que je suis perdue
y'aurait-il un mode d'emploi pour la doc?
enfin merci encore et à bientôt sur ce forum ( je prévois d'autres problèmes à venir)
slu

Répondre à monteiffel

heu....
elle marche justement comme un dico -_-' ;)

Répondre à Dunkel
Tom's Guide > Forum > Programmation > lecture d'un entier dans une string
Aller à :

Il y a 268 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens