String en Int et invercement (Java)

Résolu
Munchmouth -  
 brian -
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

10 réponses

emmanuelP Messages postés 137 Statut Contributeur 161
 
Pour info, int est le type primitif et Integer une classe.

Il suffit d'utiliser:

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

Good luck
124
Gribouille
 
Merci beaucoup ça marche tip tpo
0
adel
 
int a=Integer.parseInt(stirng x)
4
Utilisateur anonyme
 
Bonsoir,

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

@+

-- O espirito da liberdade --
3
Munchmouth
 
Ok sa marche Superbien avec Integer.parseInt()
Merci beaucoup ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Titeuf
 
Ou tu peux faire aussi
Integer s= new Integer("ma chaine");
int t=s.intValue();
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
 
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;
   }
}

0
Deirbhi
 
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;
}
}
0
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857 > Deirbhi
 
Où est la différence ?
EDIT: A oui exact, le nom de la méthode appelée était la mauvaise effectivement :)
0
brian
 
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;
}
0
philtrain Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   73
 
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
-3
anne
 
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;
}
}
-5
Mycki Messages postés 113 Statut Membre 46
 
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...
-5