Also arbeite ich an etwas. Um es kurz und einfach zu halten, habe ich zwei Klassen. In einer Klasse wird das gesamte Programm ausgeführt und in der anderen Klasse Code, der verwendet wird. Ich habe eine x und ay Ganzzahl in meiner Klasse, wo das ganze Programm ausgeführt wird, und ich brauche die Methode, die ausgeführt wird, um x oder y um 1 zu erhöhen oder zu senken. Ich habe eine switch-Anweisung, wo die Person vier Möglichkeiten hat und je nachdem, welche Wahl sie treffen, entscheiden sie, ob das x oder das y im Wert steigt oder fällt.mit einer ganzen Zahl in mehreren Methoden
import java.util.Scanner;
public class Walking {
public void NorthSouthEastWest(){
int x = 0;
int y = 0;
boolean direction = false;
Scanner input = new Scanner(System.in);
do{String userDirection = input.nextLine();
switch(userDirection){
case "North":
direction = true;
y++;
break;
case "South":
direction = true;
y--;
break;
case "East":
direction = true;
x++;
break;
case "West":
direction = true;
x--;
break;
default:
}
}while(direction == false);
aber wenn ich das Programm ausführen, drucke ich vor dem x- und y und nachdem ich in dem Befehl für die Switch-Anweisung geben, und die x- und y einfach nicht ändern. Ich bin mir nicht sicher warum. Irgendwelche Lösungen?
Zu allererst Ihre Syntax ist falsch, während (Richtung == false); scheint irrelevant – Akshay
Ich verstehe, dass Sie x und y in beiden Klassen haben? Also änderst du das eine x in einer Klasse und druckst das andere x in der anderen Klasse? – IQV
@Akshay Es ist nicht falsch. Es wäre besser, es als 'while (! Direction);' zu schreiben, aber es ist korrekt wie es ist. –