本帖最后由 小鲁哥哥 于 2018-1-26 17:21 编辑
黑马程序员课程内容丰富多样,每个知识点我们都设计有新奇的案例让大家练习。黑马程序员训练营的课程也是案例驱动教学,每天都会进行大量的代码练习。今天我们就来一起做一个基础第一阶段第5天的一个小案例。
案例: 1.键盘录入一个源字符串由字符串变量scrStr接收 2.键盘录入一个要删除的字符串由字符串变量delStr接收 3.要求 删除该字scrStr符串中的所有delStr字符串(最终的字符串中不能包含delStr),要求打印删除后的结果以及删除了几个delStr字符串 4.代码运行打印格式: 请输入源字符串:java woaijava,i like jajavava i enjoy java 请输入要删除的字符串:java 控制台输出结果:源字符串中总共包含:5 个 java 删除java后的字符串为: woai,i like i enjoy 首先键盘录入非常好写,我们用Scanner这个类来写: 这里我们每个接收字符串的语句前面都给了一个提示语句。 接下来我们要开始删除字符串了,那怎么删除字符串呢? 这里我们的思路是: 我们先定位要删除的字符串的位置:用indexOf方法,然后我们再删除。 这里我们先定位了位置,我们怎么删除这个位置的字符串呢? 好,大家先自己思考一下。 这里给大家提供一种思路:我们用学过的substring方法可以做到,把java前面的字符串截取,然后把java后面的字符串截取,再拼接成新的字符串这个新的字符串中就少了一个java了。嘿嘿,是不是跟你想的一样呢? 这里因为我们不确定要删除几次,所以用的是while循环,当index等于-1,也就说明源字符串中没有要删除的字符串了。 ok,基本上这个题就完了,还剩最后一步:统计一共删除了几个java:
这里就是用我们学过的统计思想:
[Java] 纯文本查看 复制代码 import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//1.键盘录入一个源字符串由字符串变量scrStr接收
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个源字符串:");
String scrStr = sc.nextLine();
//2.键盘录入一个要删除的字符串由字符串变量delStr接收
System.out.println("请输入一个要删除的字符串:");
String delStr = sc.nextLine();
//3.获取java在大字符串中的位置
int index = scrStr.indexOf(delStr);
int count = 0;//统计删除了几个java
while(index != -1){
String s = scrStr.substring(0, index);//包含头,不包含尾,截取java左边的字符串
String s2 = scrStr.substring(index + delStr.length());//截取java右边的字符串
scrStr = s + s2;
index = scrStr.indexOf(delStr); //-1
count ++;
}
System.out.println("删除后的字符串:"+scrStr);
System.out.println("删除了"+count+"个"+delStr);
}
}
ok!大工告成!!
运行结果没有问题
好了,希望通过这个案例大家对于字符串相关的方法能更加熟悉,如果再遇到相关的题目可以自己完成!现在把这个案例多敲几遍吧! 其实,每个案例都有很多种写法,不同的人可能有不同的思路。黑马程序员训练营也是非常鼓励大家开动脑筋积极思考的。
做完了这个题,离你走上人生巅峰又近了一步,继续加油吧!骚年!
点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
|