写一个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);
}
}
编译没错就是运行不出来,请高手指教。
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);
}
}
编译没错就是运行不出来,请高手指教。
Sting中没有这样的函数indexOf(int ch,int String)
indexOf(String str, int fromIndex)
从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引
indexOf(int ch, int fromIndex)
从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。