-OS hôte: Windows10 Home ・ OS invité: WSL2 Ubuntu18.04 LTS ・ VScode ver 1.44.2 ・ Java openjdk11
public static int execute(int firstNum, char operator, int secondNum) throws ArithmeticException{
switch (operator) {
case "+": //1
return firstNum + secondNum;
break;
Lorsque j'ai exécuté le code ci-dessus, j'ai eu l'erreur suivante à // 1. · Personne imcompatible ・ Incompatibilité de type: impossible de convertir une chaîne en caractère
Il semble que "+" soit reconnu comme une chaîne de caractères de type String au lieu d'un type char.
-Lorsque vous manipulez des caractères comme des variables de type char, mettez-les entre guillemets simples.
public static int execute(int firstNum, char operator, int secondNum) throws ArithmeticException{
switch (operator) {
case '+': //Lieu de modification
return firstNum + secondNum;
break;
Suite à la correction ci-dessus, l'erreur de compilation a disparu.
Lorsque vous décrivez des données "caractère" dans le code source, mettez-les entre guillemets ('). Et lorsque vous décrivez des données de "chaîne de caractères", utilisez des guillemets doubles ("). (Kiyotaka Nakayama, Daigo Kunimoto, "Introduction à Java avec une compréhension claire, 2e édition" p.50)
Alors Chaîne de caractères de type chaîne → entourée de "" caractère de type char → Enclose in ''
Je veux me souvenir.
[Introduction à Java 2nd Edition](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82] % 8F% E3% 81% 8B% E3% 82% 8BJava% E5% 85% A5% E9% 96% 80-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9% E3% 83 % 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B1% B1-% E6% B8% 85% E5% 96% AC / dp / 484433638X)
Recommended Posts