[Java] addition de deux entiers.

Résolu
Bonjour,

Je voudrais écrire un programme qui fait l'addition de deux entiers.
Je n'ai pas compilé le programme car je suis certaine qu'il va me planter le PC (plein de fautes j'imagine !)

public class Add
{
public static void main(String args[])
{
int somme, a, b;
System.out.println("saisir deux entiers : ",a,b);
scanf(a,b);
somme = a+b;
System.out.println("la somme de deux entiers est egale a : ", somme);
}
}

Merci :)

17 réponses

  1. voici ce que je te propose :

    public class Add {
    public static void main(String args[]) {

    int somA : Integer.parseInt (args[0]) ; // ce qui te permet de rentrer un entier lors de l'execution de ton .class
    int somB : Integer.parseInt (args[1]) ; // idem

    int somme = somA+somB; //tu dois appeler tes variables de la meme maniere que quand tu les a declaré en haut

    System.out.println("saisir deux entiers : ");

    System.out.println("la somme de deux entiers est egale a : " somme);

    }

    } // n'oublie jamais de fermer tes bloc

    donc ensuite :

    javac Add.java

    java Add 3 6 // en fait la , il te fera la somme pour 3 et 6

    si tu veux que le programme te le demande , il te faut le terminal java

    1. A quand la même fonctionnalité du programme en utilisant un objet somme ?

      Autant te lancer directement dans l'oo, ce sera encore plus amusant et plus instructif ;)

      ^^
      1. bonjour khaoula.85

        souhaite tu declarer tes entiers avant , ou les demander à l'utilisateur ?

        1. Bonjour mush_rooom,
          Merci de m'avoir répondu :)
          Je souhaite demander les entiers à l'utilisateur, mais je ne suis pas sûre du syntaxe, je suis débutante :)
          Bonne journée à toi.
      2. salut.s'il vous plait je veux programmer rien qu'avec des entiers de plus de 450 chiffres décimaux. comment faire?
        1. ouvre un nouveau post stp au lieu de polluer
      3. Salut,
        J'ai essayé de compiler ce que tu m'as proposée mais il m'a affiché deux erreurs. Je ne sais pas comment les corriger.
        Il me manque au fait une virgule dans cette ligne :
        System.out.println("la somme des deux entiers est egale a : ", somme);


        Les erreurs sont au niveau des deux lignes suivantes :

        int somA : Integer.parseInt (args[0]) ; 
        int somB : Integer.parseInt (args[1]) ; 


        Et ce sont : expected ; juste au niveau des deux points avant le
        Integer.parseInt


        Merci :)
        1. rebonjour

          essaye sans les espaces

          int somA : Integer.parseInt(args[0]) ;
          int somB : Integer.parseInt(args[1]) ;
          1. Salut,
            Les deux erreurs persistent encore :(
            1. lol je suis trop stupide !!!!
              en relisant j'ai trouvé mes erreurs xD

              avec erreur :
              int somA : Integer.parseInt (args[0]) ;
              int somB : Integer.parseInt (args[1]) ;

              aprés l'erreur corrigée :
              int somA = Integer.parseInt (args[0]) ; // avec des "=" ça passera mieux je pense
              int somB = Integer.parseInt (args[1]) ;
          2. Ne dis pas que tu es stupide ;)

            J'ai remplacé les deux : par le =

            Mais on me réaffiche une autre erreur :

            cannot find symbol
            symbol : method println(java.lang.String,int)
            location : class java.io.PrintStream
            1. rapelle toi : tu m'avai marqué ca

              /* Il me manque au fait une virgule dans cette ligne :

              System.out.println("la somme des deux entiers est egale a : ", somme); */

              si a la place de la virgule tu met un "+" exemple :

              System.out.println("la somme des deux entiers est egale a : "+somme);
              1. Oui, ça marche :)

                Mais je me suis amusée à saisir des entiers très grands du genre 956345672, mais le compilo m'a "insultée" avec des lignes qui commencent par la phrase Exception in thread "main" java.lang.NumberFormatException......

                Je fais comment pour qu'il accepte de tels entiers ?

                Mes doigts tremblent en écrivant ces lignes, il fait frrrrroid ici :P
                1. quand on utilise int c'est pour une valeur max de 32000 ou qq chose comme ca !
                  dans ces cas la il faut utiliser double a la place de int :

                  double somA = Integer.parseInt (args[0]) ;
                  double somB = Integer.parseInt (args[1]) ;
                  double somme = somA+somB;
                  1. Contributeur
                    Salut.
                    attention, le double te défini un flottant ou réel, c'est à dire un nombre à "virgule".
                    Si tu veux rester avec les entiers et augmenter la taille, il faut utiliser le type long.
                    Le type int permet d'avoir 2^32 valeurs, le type long 2^64.
                    Bien sur, le passage à double est nécessaire pour des nombres supérieurs à 2^64 (de l'ordre de 1.84467e+019)
                    ce qui laisse de la marge. De plus, il peut y avoir des troncature avec les nombres réel lors de leur somme.
                  2. @Char Snipeurj'ai fait que quelques cours sur le java , j'avai pensé au long mais j'etais plus sur du double donc c'est pour ca !!
                    je sais que tu as raison de tte maniere j'ai besoin de bosser mon java de tte maniere , j'en ai loupé mes partiels ...
                2. Mais tu te débrouilles mieux que moi ;)
                  Ca fait trois semaines que j'ai commencé à apprendre le Java lors d'un cours à l'école...
                  Bien des choses à toi :)
                  1. merci et bon courrage a toi
                3. salut je voudrai faire un programme qui permet de gérer un magasin aidez moi please
                  1. salue je veux faire un programme qui me permettra de gérer mon magasin.Aidez moi SVP