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
A voir également:

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 4260 Statut Contributeur 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 4260 Statut Contributeur 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