Ich fange gerade an Java zu lernen. Ich möchte, dass meine Eingabe (ein Array) einen x- und y-Wert akzeptiert, zum Beispiel RR ,S
.Java-Benutzereingabe ist ein Array-Typ im Switch-Fall
Das Ergebnis kommt heraus, aber das Problem ist, wenn ich den Wert R,R
die Ausgabe gibt default
, nicht die passende case
. Ich glaube, ich habe etwas falsch mit dem Scanner - ich denke, es ist nicht a.next()
aber ich weiß nicht, was dort zu setzen ...
import java.util.Arrays;
import java.util.Scanner;
public class testa {
public static void main(String[] args) {
Scanner a = new Scanner (System.in);
String Rotate;
String[] Position = new String[]{"R", "S", "RR", "E", "RS"};
System.out.println("Rotate Equation?");
Rotate = a.next();
String[] values = new String[5];
values[0] = "R";
values[1] = "S";
values[2] = "RR";
values[3] = "RS";
values[4] = "RRS";
switch (Arrays.toString(values))
{
//cases with "RR" resulted
case "[R, R]":
case "[S, RS]":
case "[RRS,S]":
System.out.println("RR");
break;
//cases with "E" resulted
case "[R,RR]":
case "[RR,R]":
case "[S,S]":
case "[RS,RS]":
case "[RRS,RRS]":
System.out.println("E");
break;
//cases with "RS" resulted
case "[R,S]":
case "[RR,RRS]":
case "[S,RR]":
case "[RRS,R]":
System.out.println("RS");
break;
//cases with "RRS" resulted
case "[R,RS]":
case "[RR,S]":
case "[S,R]":
case "[RS,RR]":
System.out.println("RRS");
break;
//cases with "S" resulted
case "[R,RRS]":
case "[RR,RS]":
case "[RS,R]":
case "[RRS,RR]":
System.out.println("S");
break;
//cases with "R" resulted
case "[RR,RR]":
case "[S,RRS]":
case "[RS,S]":
case "[RRS,RS]":
System.out.println("R");
break;
case "x:D3":
System.out.println("x");
break;
//other input will be invalid
default :
System.out.println("Invalid move");
break;
}
}
}
An keinem Punkt in Ihrem Code verweisen Sie als Wert drehen. Wirklich nicht viel über deinen Code macht zu viel Sinn. – basic
stimme ich voll und ganz zu. Wofür stehen alle Abkürzungen? –