java笔记,从一个录入字符串删除指定字符串
来源:互联网 发布:空间数据库吴信才 编辑:程序博客网 时间:2024/06/06 03:27
原题:1.键盘录入一个源字符串由字符串变量srcStr接收
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
练习代码:
public class Test02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("源字符串");
String str = sc.nextLine();
System.out.println("删除字符串");
String s = sc.nextLine();
int count = 0;
int index = 0;
while((index = str.indexOf(s))!=-1){
str = str.replaceFirst(s, "");
count++;
}
System.out.println("删除后代码为"+str+"共删除"+count+"次");
}
}
错误1:Scanner 键盘录入用next(),导致键盘输入第一次后,无法再次输入。
错误总结:来自于百度:next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、
Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、
Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是
与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串而nextLine()方法的结束符只是Enter键,即nextLine()
方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
错误2:while循环内用str =str.substring(index+s.length());删除后,字符串自动拼接,又出现一个java;
效果:
错误总结,依次删除,删到最后一个java,停止,后面重新组合的无法删除;
错误3:改用str = str.replace(s, "");用空格代替;replace方法第一次将所有java字符全部替换,count++。剩余字符拼接后再删除一次,count++;打印结果为
最后用:str = str.replaceFirst(s, "");
用空格,一次替换一个。
新手上路,请老司机带飞;
- java笔记,从一个录入字符串删除指定字符串
- Java中如何从一个字符串中删除指定字符
- Java中如何从一个字符串中删除指定字符
- 从指定字符串中删除指定字符
- 从指定字符串删除指定字符
- java中从指定的字符串中删除指定的小字符串
- 从一个字符串删除另一个字符串
- 从一个字符串中删除另一个字符串
- 从字符串中删除指定字符
- 删除一个字符串中的指定字符
- 从字符串的指定位置开始,删除指定长度字符
- 从字符串指定位置删除指定长度字符
- 从字符串中删除指定子串或指定元素
- 从指定位置删除指定长度的字符串(串)
- 从指定位置删除指定长度的字符串(串)
- C++ 从指定位置开始,删除指定长度的字符串
- java删除字符串中的指定字符
- java删除字符串中的指定字符 .
- NOI-OJ矩形分割
- 关于MySQL数据库不能使用别名的解决方法
- MySQL InnoDB中的consistent read和Locking Reads
- MATLAB实现数图的缩放:双线性内插法
- Eclipse导入Maven项目,本地中央仓库缺少项目中Jar解决方案。
- java笔记,从一个录入字符串删除指定字符串
- 对象族谱之归纳总结
- Elasticsearch大文件检索性能提升20倍实践(干货)
- python学习要点
- 当 position:fixed 遇上 transform
- 常用SQL操作总结
- BZOJ1066【SCOI2007】蜥蜴 <网络流>
- web前端性能优化
- redis排行榜例子