Je suis nouveau à java et et de travailler sur une calculatrice crud qui prend l'entrée et le maintient dans une ArrayList pour effectuer les calculs.Java int valeur type à caractère
J'essaye d'ajouter deux valeurs dans un ArrayList<Character>
et remplace alors le "+" avec la somme.
if(listEqu.contains('+')) {
while(listEqu.indexOf('+') > -1) {
int plus = listEqu.indexOf('+');
int prev = listEqu.get(plus-1);
int nxt = listEqu.get(plus+1);
Character sum = (char) (nxt + prev);
listEqu.set(plus, sum);
System.out.println(listEqu);
}
}
Lorsque l'entrée est 1+1
, cela renvoie [1, b, 1]
. Ce que je veux, c'est retourner [1, 2, 1]
. Un conseil? Merci!
« 1 » + « 1 » est de trouver « 1 » sur la ligne de numéro de code de caractère et le déplacement vers la droite à une distance égale entre y et l'origine, pour arriver à « b ». Ce n'était pas ce que tu voulais. (Il est parfois très utile sur des plages de codes de caractères limitées, dans la plupart des cas, un algorithme plus général est préférable.) Comme @StephenC [explique] (https://stackoverflow.com/a/46010463/2226988) , les codes de caractères en question sont le codage UTF-16 du jeu de caractères Unicode. –