【发布时间】:2013-11-12 21:01:10
【问题描述】:
我需要编写一个静态方法,该方法将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;
}
}
【问题讨论】:
-
试试正则表达式
-
str.charAt(i)!=str.charAt(j)怎么可能是真的? -
@lavrik 因为它看起来像是介绍性的东西,我怀疑提问者知道如何使用正则表达式......
-
问题的第一个字母大写,即使它出现四个单词,这表明这是课程作业的复制和粘贴。
-
@Vizkos 这可能是开始学习的原因:)