Languages
[Edit]
PL

Java - zamień ostatni znak w ciągu

2 points
Created by:
Sylwia
3530

Problem

Chciałbym zamienić ciąg ABC na ABD - zmień ostatnią literę z „C” na „D”.

Wyjaśnienie kodem, mam:

String str = "ABC";

Oczekuję:

String str = "ABD";

Rozwiązania

Przykład 1

String text = "ABC";

String substring = text.substring(0, text.length() - 1); // AB
String replaced = substring + "D";

System.out.println(text);     // ABC
System.out.println(replaced); // ABD

Kroki:

  1. Aby utworzyć „AB” z naszego ciągu, używamy metody String substring z 2 parametrami. Pierwszy parametr to beginIndex, a drugi to endIndex. EndIndex to cała długość naszego ciągu minus 1 litera potrzebna do usunięcia ostatniej litery.
  2. Na końcu łańcucha dodajemy literę, którą chcemy - w naszym przypadku jest to „D”
  3. Zgodnie z oczekiwaniami zmieniliśmy ostatnią literę z C na D.

Przykład 2

Wizualizujmy ten problem na łańcuchu z cyframi. Chcemy zastąpić ostatnią cyfrę ciągu „123” cyfrą „4”, aby uzyskać ciąg „124”.

String text = "123";

String substring = text.substring(0, text.length() - 1); // 12
String replaced = substring + "4";

System.out.println(text);     // 123
System.out.println(replaced); // 124

Przykład  3

W poniższym przykładzie przyjrzymy się, jak stworzyć własną metodę narzędziową, która pomoże nam zastąpić ostatnią literę ciągu. Poniższy przykład ma metodę narzędzia replaceLastLetter(), który przyjmuje nasz łańcuch jako pierwszy parametr, a naszą nową literę jako drugi parametr. W wyniku metody narzędziowej otrzymujemy napis z zastąpioną ostatnią literą. Poniższy przykład przyjmuje ciąg „ABC” i zamienia ostatnią literę „C” na „D”, a wynikiem jest „ABD”.

public class Example {

    public static String replaceLastLetter(String text, String newLetter) {
        String substring = text.substring(0, text.length() - 1); // ABC -> AB
        return substring + newLetter; // ABD
    }

    public static void main(String[] args) {
        String text = "ABC";
        String newLetter = "D";

        String replaced = replaceLastLetter(text, newLetter);

        System.out.println(text);     // ABC
        System.out.println(replaced); // ABD
    }
}

Przykład 4

Ten przykład jest podobny do przykładu 3, ale z tą różnicą, że jako drugi parametr bierzemy znak, a nie typ String. W tym przykładzie wykorzystujemy fakt, że w java możemy łączyć łańcuchy ze znakami z operatorem „+”.

Reszta logiki działa w ten sam sposób.

public class Example {

    public static String replaceLastLetter(String text, char newLetter) {
        String substring = text.substring(0, text.length() - 1); // ABC -> AB
        return substring + newLetter; // ABD
    }

    public static void main(String[] args) {
        String text = "ABC";
        char newLetter = 'D';

        String replaced = replaceLastLetter(text, newLetter);

        System.out.println(text);     // ABC
        System.out.println(replaced); // ABD
    }
}

Bibliografia

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join