5.分析以下需求,并用代码实现:
(1)从键盘循环录入录入一个字符串,输入"end"表示结束
(2)定义一个方法 public Object[] deleteSubString(String str1,String str2) { }
(3)方法功能描述:
*从str1中删除所有的str2,-并返回删除后的结果,返回结果为Object[]数组
* 该数组的第一个元素为删除所有的str2后的最终的字符串
* 该数组的第二个元素为删除的str2的个数
1 import java.util.Scanner; 2 3 public class Test_005 { 4 5 public static void main(String[] args) { 6 String a = input(); 7 String b = input(); 8 //System.out.println(a); 9 deleteSubString(a,b);//将输入的两个值以字符串的形式传入方法 10 } 11 public static Object[] deleteSubString(String str1,String str2) { 12 String [] split_str = str1.split(str2);//split分割字符串,可以把字符串按照str2分割为一个字符串数组,并且去掉str2 13 String result_str = ""; //用于接收字符串 14 for (int i = 0; i < split_str.length; i++) { 15 result_str += split_str[i];//将字符串数组转为字符串 16 } 17 Object [] objArr = new Object[2];//声明一个只有两项的最大的数组 18 objArr[0]= result_str; //返回的新数组第一项 19 objArr[1]= str2.length();//删除的个数 20 for (int i = 0; i < objArr.length; i++) { 21 System.out.println(objArr[i]); 22 } 23 return objArr; 24 } 25 public static String input(){ 26 Scanner sca = new Scanner(System.in); 27 StringBuffer s = new StringBuffer(); 28 System.out.println("请输入一个字符串,完成后以(end)结尾!"); 29 while(true){ 30 String str = sca.next(); 31 if (str.endsWith("end")) { 32 System.out.println("输入结束!"); 33 break; 34 } 35 s.append(str); 36 } 37 return s.toString(); 38 } 39 }
运行结果:
1 请输入一个字符串,完成后以(end)结尾! 2 guojintaoguojintaoguojintao 3 end 4 输入结束! 5 请输入一个字符串,完成后以(end)结尾! 6 guo 7 end 8 输入结束! 9 jintaojintaojintao 10 3