5作业(2018.08.09)

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