Мне нужно написать статический метод, который принимает параметр String
в качестве параметра и возвращает новый String
, полученный путем замены каждого экземпляра повторяющихся смежных букв одним экземпляром этой буквы без использования регулярных выражений. Например, если я вхожу в «maaaakkee» как String
, он возвращает «make». Я уже пробовал следующий код, но, похоже, он не отображает последний символ. Вот мой код:Удалить повторяющиеся символы в строке
import java.util.Scanner;
public class undouble {
public static void main(String [] args){
Scanner console = new Scanner(System.in);
System.out.println("enter String: ");
String str = console.nextLine();
System.out.println(removeSpaces(str));
}
public static String removeSpaces(String str){
String ourString="";
int j = 0;
for (int i=0; i<str.length()-1 ; i++){
j = i+1;
if(str.charAt(i)!=str.charAt(j)){
ourString+=str.charAt(i);
}
}
return ourString;
}
}
Попробуйте регулярные выражения – lavrik
Как можно «str.charAt (i)! = Str.charAt (j)» когда-либо быть истинным? –
@lavrik Так как это похоже на интро-материал, я сомневаюсь, что он знает, как использовать регулярное выражение ... – ryanlutgen