-Host-Betriebssystem: Windows10 Home ・ Gastbetriebssystem: WSL2 Ubuntu18.04 LTS ・ VScode Version 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;
Als ich den obigen Code ausführte, trat der folgende Fehler bei // 1 auf. ・ Inkompatible Typen ・ Typkonflikt: Konvertiert nicht von String in char
Es scheint, dass "+" als Zeichenfolge vom Typ String anstelle eines Zeichentyps erkannt wird.
public static int execute(int firstNum, char operator, int secondNum) throws ArithmeticException{
switch (operator) {
case '+': //Änderungsort
return firstNum + secondNum;
break;
Infolge der obigen Korrektur verschwand der Kompilierungsfehler.
Wenn Sie "Zeichen" -Daten im Quellcode beschreiben, setzen Sie sie in Anführungszeichen ('). Verwenden Sie beim Schreiben von "Zeichenfolgendaten" doppelte Anführungszeichen ("). (Kiyotaka Nakayama, Daigo Kunimoto, "Einführung in Java mit klarem Verständnis, 2. Auflage", S. 50)
Damit Zeichenfolge Typ Zeichenfolge → in "" einschließen Zeichen vom Typ char → In '' einschließen
Ich möchte mich erinnern.
[Einführung in 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