Je programme sous Android est je suis en train de créer une calculatrice (Je débute).
A chaque fois que j'appuis sur un Button (ex : Le chiffre 1), le EditText (non modifable) affiche 1.
Maintenant lorsque j'entre un calcul algébrique (4+1),
Je récupère ce calcul (je récupère donc une chaîne de caractères), je ne vois pas comment la calculer.
J'ai bien une idée c'est de mettre chacun des caractère dans un tableau mais je ne sais pas comment m'y prendre.
Tu utilises des float que tu convertis en char, mais il est fort probable que ton float soit plus grand qu'un caractère (à moins que tu ne te limites au chiffres de 0 à 9).
Dans ton cas, si tu as 42 et 13, il te le convertira en :
calculA[0] = 4;
calculA[1] = 2;
calculA[2] = 1;
calculA[3] = 3;
bon tu récupères les chars et tu les stacks jusqu'a ce que tu tombe sur un opérateur tu as ton 1er nombre ensuite tu récupère le deuxième jusqu'au prochain opérateur ou rien.
ex : 444444+0+88.99
tu récup 4 parce que c'est != de + - * / .... tu arrives sur + tu as ton premier nombre tu continues 0 != de +-*/ tu arrives sur + tu as ton 2ème nombre 8 tu stacks .... le dernier 9 tu stack tu arrive à la fin tu fais nbr1+nbr2+nbr3
Je suppose que tu as créé ton topic dans le forum Java. Tu apprendras donc qu'il existe un forum "Mobile" avec certaines règles à suivre, surtout concernant le titre.
Je l'ai donc modifié pour cette fois, merci de faire attention à l'avenir concernant ces deux points.
Mais à chaque fois que je teste une solution mon app plante alors j'ai voulut testé un code pour vérifié que ce n'est pas mon code qui fait planté mais bien la fonction toCharArray, voici le code en question (aucune erreur de compilation)
J'ai fait ce code uniquement dans le but de testé, il consite à : lorsque l'utilisateur appuis sur le bouton égal seul le premier chiffre tapé s'affiche( ex 123 retourne 1 )
Bonjour,
Alors cette fois pa de plantage mais sa ne fait rien
barre1 = barre.getText(); // on recuperre la barrr de calcul
scalc = String.valueOf(barre1);// c'est une variable de type editable donc on la passe en String
calculA = scalc.toCharArray();// on range chaque caractère dans un tableau
scalc2 = String.valueOf(calculA[0]);//on prend le 1er nombre saisi
barre.setText(scalc); //on l'affiche
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
CTO Co-fondateur @ My Talent Manager : boostez votre carrière d'artiste | https://mytalentmanager.fr