Also als Teil der Vector
Klasse, die ich versuche zu erstellen, möchte ich auch die Fähigkeit für den Benutzer in der Lage sein, die Elemente im Array eine 'n'
Anzahl der Plätze je nachdem, was ist angegeben. Wenn der Benutzer eine Zahl eingibt, die größer als die Array-Größe ist, werden die Elemente zum Anfang und Verschieben zurück verschoben. Ein Beispiel wäre:Moving Array-Elemente links und rechts
1 2 3 4 (shifted 1) => 4 1 2 3
1 2 3 4 (shifted 4) => 1 2 3 4
1 2 3 4 (shifted 5) => 4 1 2 3
ich viel Code nicht so weit haben, außer:
public Vector shifted(int amount) {
Vector vectorShifted = new Vector(length);
for (int i = 0; i < length; i++);
vectorShifted.elements[i] = this.elements[i + amount]
}
return vectorShifted;
}
Allerdings, wenn ich dieses Programm und eine Zahl größer als length
eingegeben laufen, wird ein Fehler angezeigt . Gibt es eine Möglichkeit, diesen Code dahingehend zu modifizieren, dass eine beliebige Zahl, positiv oder negativ, eingegeben werden kann und die Werte verschoben werden?
Wie Sie machen eine zirkulare Verschiebung, fügen Sie den Modulo-Operator hinzu: 'vectorShifted.elements [i] = this.elements [(i + betrag)% length]' – lazary