инструкция возврата пустой строки в методе, это просто номинальная цель или это можно улучшить? - PullRequest
0 голосов
/ 09 мая 2020

Этот код удаляет первый «ab c», который находится в строковом аргументе, и возвращает результирующую строку.

Я просто сбит с толку, потому что я просто возвращаю пустую строку, потому что написал String вместо void. Я бы использовал System.out.println(); вместе с break;, если бы написал void, но я этого не сделал, потому что я использовал его в упражнении, и он сказал плохой код (хотя результаты такие же). Буду рад, если у вас есть мнения. Это мой код ниже;

public static String abc(String str) {
    int i = 0;
    while(i < str.length()-2) {
        if (str.substring(i, i+3).equals("abc")) {
            return str.substring(0, i) + str.substring(i+3);
        } else {
            if (i == str.length()-3) {
                return str;
            }
        } i++;
    } return "";

1 Ответ

0 голосов
/ 09 мая 2020

Для получения информации об управлении строками см. Java String API: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html

Вы можете достичь того же с гораздо меньшим количеством кода:

public static String abc(String str) {

    return (str.contains("abc")) ? str.replaceFirst("abc", "") : str ;

    }
...