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

  1. 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
    1. Gribouille
       
      Merci beaucoup ça marche tip tpo
      0
  2. philtrain
     
    Bonsoir,

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

    @+

    -- O espirito da liberdade --
    3
  3. Munchmouth
     
    Ok sa marche Superbien avec Integer.parseInt()
    Merci beaucoup ;-)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Titeuf
     
    Ou tu peux faire aussi
    Integer s= new Integer("ma chaine");
    int t=s.intValue();
    0
  6. 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
    1. 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
      1. 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
  7. 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
  8. 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
  9. 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
  10. 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