读书人

大家进来看一个关于String类的有关问题

发布时间: 2012-01-28 22:06:14 作者: rapoo

大家进来看一个关于String类的问题
写一个MyString类提供以下两个方法:
1、缩写。如 "this sentence can be abbreviated "可缩写为 "tscba "。
2、删除一个字符。如从字符串 "this sentence can be abbreviated "中删除字符 'e '将会得到结果 "this sntnc can b abbrviatd "。
以下是我写的:
class MyString {
private String str;

public MyString() {}

public MyString(String aString) {
str=aString;
}

public String getString() {
return str;
}

public String getAbbreviation() {
int i=0;
String abbreviation=str.substring(0,1);
int index=str.indexOf(i, ' ');
while(i < str.length() && index!=-1) {
abbreviation += str.substring(index+1,index+2);


i=index + 1;
index=str.indexOf(i, ' ');
}
return abbreviation;
}

public String deleteAChar(char aChar) {
int index=0;
int i=str.indexOf(aChar, index);
String newString = " ";
while(index < str.length() && index!=-1) {
newString += str.substring(index, i);
index = i + 1;
str.indexOf(aChar, index);


}
return newString;
}
}

public class TestMyString {
public static void main(String[] args) {
MyString aStr=new MyString( "I am programing in java! ");
String newStr=aStr.getAbbreviation();
System.out.println(newStr);
newStr=aStr.deleteAChar( 'a ');
System.out.println(newStr);
}
}
编译没错就是运行不出来,请高手指教。

[解决办法]
int index=str.indexOf(i, ' ');
Sting中没有这样的函数indexOf(int ch,int String)

读书人网 >J2SE开发

热点推荐