String Array Buchstaben um einen gewissen Wert verschieben

salem7

Mitglied
Hallo, bei meiner Aufgabe muss ich einen String mit "ABCDEFGHIJKLMNOPQRSTUVWXYZ", dann soll ich wenn zb int howMuch = 3; ist den ganzen String um 3 Positionen nach rechts verschieben. Sprich es soll dann "XYZABCDEFGHIJKLMNOPQRSTUVW" aufgegeben werden. wenn howMuch eine negative Zahl ist, zb -3 soll das ganze um 3 Positionen nach links verschoben werden. Wie könnte ich das lösen?

Java:
public class GaudiMitArraysV2 {
    public static void main(String[] args) {
        String abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        int howMuch = 3;
        char[] letter = abc.toCharArray();

        for(int i = 1; i <= letter.length; i++) {

    }
}}
 
vllt kannst du damit was anfangen

wenn du aber nicht mit arrays hantieren willst
zweiterteil = Splitte den string von position 0 bis ende - shift
ersterteil = dann splitte den string von ende - shift bis ende
und rechne dann ersterteil + zweiterteil

was aber glaub ich nicht sinn der übung ist..
 
Hallo, vielen Dank für die Tipps. Mittlerweile habe ich folgenden Code. Weiß jedoch nicht wie ich die letzten Buchstaben in meinem Fall von BBB auf ABC bekomme.
Java:
String abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        int howMuch = 3;
        char[] letter = abc.toCharArray();

        for (int i = 0; i < letter.length; i++) {

            letter[i] += howMuch;

            if (letter[i] > 90) {
                letter[i] = 65;
                letter[i]++;


            }


        }


        System.out.print(letter);
 
warum rechnest du mit char zahlen?
es wäre vllt besser sowas zu machen

Java:
String abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        int howMuch = 3;
        char[] letter = abc.toCharArray();
        char[] ergebnisSalat = new char[letter.length]
        for (int i = 0; i < letter.length; i++) {
            char singleLetter = letter[i];
            int zielPosition = i+3;
            if(über den index der länge hinaus)
            {
                zielposition = übertrag was überbleibt von vorne
            }
            ergebnisSalat[zielPosition] = singleLetter;

        }


        System.out.print("VORHER: "+letter);
System.out.print("NACHHER: "+ergebnisSalat);[
 

Neue Themen


Zurück
Oben