我需要编写一个静态方法,它将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