Languages
[Edit]
PL

Java - zamień ostatni znak w ciągu

2 points
Created by:
Sylwia
1334

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

Hey 👋
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.