Impossible d'additionner

maxitonor Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Je commence le Java et en essayant de faire quelque truc.. j'essaye d'aditionner deux nombre comme vous le voyer mais 2+2=4 sa me mets 22


package fr.maxitonor.essai1;

public class main {

public static void main(String[] args) {

String[] pseudo = {"1","2","c","d","e","f"};

String psepse = pseudo[1]+pseudo[1];

System.out.println(psepse);

}
}

2 réponses

  1. Utilisateur anonyme
     
    Bonsoir

    Grandasse a vu juste.
    une string est du texte, et donc "1" n'est pas le nombre 1, mais en quelque sorte "la lettre" 1.
    De même que
    "C" + "o" + "u" + "c"  + "o" + "u"
    retournera
    "Coucou"
    ,
    "1" + "1"
    retourne
    "11"
    .

    Il faut donc faire comprendre à l'ordinateur que c'est le nombre que tu veux additionner et donc convertir le texte en nombre
    int un = Integer.parseInt("1");
    int resultat = un + un;


    1
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Tout à fait.

      Mais de toute façon il ne faudrait jamais mélanger les torchons et les serviettes.

      Dans
      String[] pseudo = {"1","2","c","d","e","f"};
      tu manipules à la fois des chiffres et des lettres, donc faire une transformation de
      pseudo[1]
      en chiffres ça va marcher, parce que effectivement dans ce cas précis à la case 1 tu as
      "2"
      qui représente un chiffre, mais si tu fais la même transformation sur
      pseudo[2]
      ça va planter car
      "c"
      est une lettre...

      Donc faire un code qui fonctionne pour une case et plante pour la case d'à côté ce n'est pas propre, ici il faudrait soit considérer que toutes les valeurs sont des String (donc assumer que
      "2"+"2"="22"
      ) soit considérer que toutes les valeurs représentent des chiffres et tous les convertir (impossible en décimal)
      0
    2. Utilisateur anonyme
       
      Salut KX, bien vu je n'avais pas fait attention aux autres valeurs du tableau.
      Ça se complique, il faut tester d'une façon ou d'une autre si les 2 items représentent un nombre, si oui les additionner, si non les concaténer.
      0
  2. Grandasse_ Messages postés 971 Date d'inscription   Statut Membre Dernière intervention   612
     
    Bonjour,
    Je connais mal Java, mais j'ai une idée sur la question.
    Faites attention au 'typage' des variables.
    Ici vous additionnez deux chaines de caractère (string) donc forcément ça retourne une chaine concaténée.
    Il doit exister des fonctions pour changer pseudo[1] d'un string à un integer, je vous laisse chercher !
    0
    1. maxitonor Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
       
      merci je vais chercher peut etre si je passe les variable string à du int sa marchera
      0
      1. maxitonor Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2 > maxitonor Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
         
        sa marche pas vu que c'est une chaine il faut apsolument la variable string
        0