用Java实现,以下是要求(1)编写方法 int charCount(charcStringstr),判断字符c在字符串str中出现的次数,例如charCount(' A ',"ABADCABCDE")的结果是3(2)编写方法 String moveStr(String str,intm),把字符串str的1~m个字符移到str的最后,例如moveStr("ABCDEFGHIJK",3)的结果是DEFGHIJKABC。 (3)编写方法 String sort(String str),对指定字符串中除首、尾字符外的其余字符进行 降序排列,例如sort("CEAedca")排序后的结果为"CedcEAa"。 (4)编写方法 String delStar(String s),删除指定字符串中末尾的*号,例如 delStar(" **** A *BC* DEF*G *******")的结果是" **** A*BC * DEF *G" (5)在main 方法中测试以上方法是否正确。
时间: 2023-06-03 13:02:42 浏览: 91
我明白了,您想要让我帮您测试几个 Java 实现的方法。
1. 实现统计字符在字符串中的出现次数的方法 charCount(char c, String str),代码如下:
public static int charCount(char c, String str) {
int count = 0;
for(int i = 0; i < str.length(); i++) {
if(str.charAt(i) == c) {
count++;
}
}
return count;
}
2. 实现移动字符串中指定个数字符到最后的方法 moveStr(String str, int m),代码如下:
public static String moveStr(String str, int m) {
if(m > str.length()) {
m = m % str.length();
}
return str.substring(m) + str.substring(0, m);
}
3. 实现字符串降序排列的方法 sort(String str),代码如下:
public static String sort(String str) {
if(str.length() <= 2) {
return str;
}
char first = str.charAt(0);
char last = str.charAt(str.length()-1);
String middle = str.substring(1, str.length()-1);
char[] chars = middle.toCharArray();
Arrays.sort(chars);
String sortedMiddle = new StringBuilder(new String(chars)).reverse().toString();
return first + sortedMiddle + last;
}
4. 实现删除字符串末尾 * 号的方法 delStar(String s),代码如下:
public static String delStar(String s) {
int index = s.length() - 1;
while(index >= 0 && s.charAt(index) == '*') {
index--;
}
return s.substring(0, index+1);
}
5. 在 main 方法中测试以上方法是否正确,代码如下:
public static void main(String[] args) {
int count = charCount('A', "ABADCABCDE");
System.out.println(count); // 3
String moved = moveStr("ABCDEFGHIJK", 3);
System.out.println(moved); // DEFGHIJKABC
String sorted = sort("CEAedca");
System.out.println(sorted); // CedcEAa
String deleted = delStar(" **** A *BC* DEF*G *******");
System.out.println(deleted); // " **** A*BC * DEF *G"
}
以上实现的方法应该是正确的,您可以尝试在您的开发环境中运行一下。
阅读全文