Enregistré parce que j'ai utilisé la méthode getNumericValue pour la première fois.
-Recevoir la formule de calcul avec une chaîne de caractères de n'importe quelle longueur (tous les nombres utilisés sont à 1 chiffre, les opérateurs ne sont que '+' et'- ') ・ Calculez la chaîne de caractères reçue sous forme de valeur numérique ・ Sortie du résultat du calcul
(Exemple) Entrée: "1 + 2 + 3" Sortie: 6
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
sc.close();
char [] c = line.toCharArray();
int sum = 0;
boolean add = true;
for(int i = 0; i < line.length(); i++) {
if(i % 2 == 0) {//Les nombres pairs sont calculés car les nombres et les opérateurs alternent.,Opérateurs d'échange de cotes
if(add) {
int n = c[i];
sum += n;
} else {
int n = c[i];
sum -= n;
}
} else {
if(c[i] == '+') {
add = true;
} else {
add = false;
}
}
}
System.out.println(sum);
Entrée: "1 + 2 + 3" Sortie: 150
-Lorsque la valeur numérique placée dans le tableau de type char est convertie en type int, elle a été affectée avec le code de caractère ASCII. → Je veux retirer les nombres du tableau tels qu'ils sont!
if(add) {
int n = Character.getNumericValue(c[i]);
sum += n;
} else {
int n = Character.getNumericValue(c[i]);
sum -= n;
}
Entrée: "1 + 2 + 3" Sortie: 6
Si vous souhaitez utiliser le numéro de type char tel quel, utilisez le type de caractère getNumericValue ().
if(c[i] == '+') {
add = true;
} else {
add = false;
}
Dans la partie ci-dessus, l'opérateur de comparaison renvoie un type booléen, vous pouvez donc juger de l'authenticité en l'attribuant directement à ajouter.
add = c[i] == '+';
Recommended Posts