VIVEZ LE
FOOTBALL !

Posez votre question Signaler

String en Int et invercement (Java) [Résolu]

Munchmouth - Dernière réponse le 20 déc. 2010 à 17:07
Bonjour a tous,

Voici mon pb; je veux changer un String en int.
pour le moment je fait;

import java.lang.*;
int a = Integer.decode( "monString" );

Et G la chance d'avoir ceci a la compilation;

FichierHightScore.java:207: incompatible types
found : java.lang.Integer
required: int
int a = Integer.decode("monString");
^

voila, donc si qqu a une idée merci de me donner des conseils
Lire la suite 

String en Int et invercement (Java) »

13 réponses
Réponse
+76
moins plus
Pour info, int est le type primitif et Integer une classe.

Il suffit d'utiliser:

int a = Integer.parseInt("ma chaine");

Good luck
Gribouille - 7 mars 2008 à 15:18
Merci beaucoup ça marche tip tpo
Ajouter un commentaire
Réponse
+3
moins plus
Bonsoir,

Integer.decode(String s) retourne un objet Integer et non un int. (voir la documentation)

@+

-- O espirito da liberdade --
Ajouter un commentaire
Réponse
+2
moins plus
int a=Integer.parseInt(stirng x)
Ajouter un commentaire
Réponse
+0
moins plus
Ok sa marche Superbien avec Integer.parseInt()
Merci beaucoup ;-)
Ajouter un commentaire
Réponse
+0
moins plus
Ou tu peux faire aussi
Integer s= new Integer("ma chaine");
int t=s.intValue();
Ajouter un commentaire
Réponse
+0
moins plus
Code corrigé :
public class Exer2{
   public static void main(String args[]){
      System.out.println("la somme vaut" + somme(12,75));
   }
   public static int calcule(int a,int b){
      return a+b;
   }
}

Deirbhi - 28 mai 2008 à 15:44
le Code corrigéne serai pas plutot :

public class Exer2{
public static void main(String args[]){
System.out.println("la somme vaut" + calcule(12,75));
}
public static int calcule(int a,int b){
return a+b;
}
}
kij_82- 28 mai 2008 à 17:41
Où est la différence ?
EDIT: A oui exact, le nom de la méthode appelée était la mauvaise effectivement :)
Ajouter un commentaire
Réponse
+0
moins plus
J'ai crée une méthode qui a partir d'une string (que je lis à partir d'un flux en entrée) doit isoler le numéro qu'il y a dedans et le mettre dans une variable int.

Ma ça ne marche pas, l'erreurs devrait être dans la condition de l'if mais j'arriva pas a trouver une solution. Merci de vouloir m'aider ou sinon proposez une autre façon d'avoir le même résultat. merci


public static int getnumbers (InputStream receivin){
byte bufin[]= new byte [2048];
char tableau[]={0,1,2,3,4,5,6,7,8,9};
int ln=0;
char data[]= new char[20];
int numbers=0;

try {
while (receivin.available()==0);
ln=receivin.read(bufin);
String in=new String (bufin,0,ln);
for(int index=0; index<=in.length();index++)
{
for (int i=0; i<10; i++)
{
if(in.charAt(index)==tableau[i])
{
int dataindex =0;
data[dataindex]=in.charAt(index);
dataindex++;
}
}
}

String num = new String (data);

Integer s = new Integer(num);
numbers=s.intValue();

// numbers=Integer.parseInt(num);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return numbers;
}
Ajouter un commentaire
Réponse
-2
moins plus
Bonjour,

Dans la méthode "main", il n'y a pas d'appel à la méthode calcule et "somme" n'est ni défini, ni initialisé.

Philippe
Ajouter un commentaire
Réponse
-4
moins plus
pouriez vous me dire ce qui fait ke ca ne marche pa???et me dire ce kil fo metre et ou?
public class Exer2
{
public static void main(String args[])
{
System.out.println("la somme vaut" + somme);

}
public int calcule(int a,int b)
{
int somme=a+b;
return somme;
}
}
Ajouter un commentaire
Réponse
-4
moins plus
En plus, ta méthode calcule n'est pas statique, donc tu ne pourras pas l'instancier directement dans le main. Et t'es entiers a et b n'ont pas de valeur...
Ajouter un commentaire
Ce document intitulé « String en Int et invercement (Java) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?