API练习
键盘录入一个字符串,要求删除该字符串中的所有java字符串(最终的字符串中不能包含java),要求打印删除后的结果以及删除了几个java字符串
比如键盘录入:“java woaijava,i like jajavava,i enjoy java”
程序输出结果:
原字符串:“java woaijava,i like jajavava,i enjoy java"中
总共包含:5个java删除java后的字符串为:” woai,i like ,i enjoy"
package com.igeek_01;
import java.util.Scanner;
/**
* @ClassName: StringTest
* @Description: API练习题,字符串操作
* @date 2018年2月2日 下午1:52:18
* Company www.igeekhome.com
*
* 需求:
* 键盘录入一个字符串,要求删除该字符串中的所有java字符串(最终的字符串中不能包含java),要求打印删除后的结果以及删除了几个java字符串
* 比如键盘录入:"java woaijava,i like jajavava,i enjoy java"
* 程序输出结果:
* 原字符串:"java woaijava,i like jajavava,i enjoy java"中
* 总共包含:5个java,删除java后的字符串为:" woai,i like ,i enjoy "
*
*====================================================================
* 分析:
* 1、使用键盘录入Scanner接收一个初识被判断的字符串,用变量initString接收
* 2、定义变量,用于记录每次变化的那个字符串,即最终的字符串finalString
* 3、定义变量,记录java的个数
* 4、
* 定义变量,记录java是否存在于字符串中,用索引表示(indexOf方法)
* while循环删除:
* 条件:
* 为只要字符串中没有java字符串即不再循环
* 如果索引不为-1,就说明要删除字符串中的java;
* 如果索引为-1,就说明已经不再包含java了,循环终止;
*
* 循环删除过程:
* 由于进入了循环,所以判断字符串中有一个java,个数计数器+1
* 将java前的字符串截取记录(substring方法(0,索引i),从0到i)
* 将java后的字符串截取记录(substring方法(索引i+4),所i+4到最后)
* 将java前后的字符串再拼接成新的字符串
* 再判断新字符串中是否存在java,使用indexOf方法重新获取索引
*
* 5、打印结果:
* 打印原字符串
* 打印java个数
* 打印不包含java的新字符串
*/
public class StringTest {
public static void main(String[] args) throws InterruptedException {
//1、使用键盘录入Scanner接收一个初识被判断的字符串,用变量initString接收
Scanner scanner = new Scanner(System.in);
//初始化数据
String initString = scanner.nextLine();
//2、定义变量,用于记录每次变化的那个字符串,即最终的字符串finalString
String finalString = initString;
//3、定义变量,记录java的个数
int javaNumber=0;
//4、循环过程
//定义变量,记录java是否存在于字符串中,用索引表示(indexOf方法)
int index = finalString.indexOf("java");
//条件:
//为只要字符串中没有java字符串即不再循环
//如果索引不为-1,就说明要删除字符串中的java;
//如果索引为-1,就说明已经不再包含java了,循环终止;
while(index!=-1){
System.out.println(index);
//加入语句,让循环每秒执行一次
Thread.sleep(1000);
//反复删除
//由于进入了循环,所以判断字符串中有一个java,个数计数器+1
javaNumber++;
//将java前的字符串截取记录(substring方法(0,索引i),从0到i)
String before = finalString.substring(0, index);
//将java后的字符串截取记录(substring方法(索引i+4),所i+4到最后)
String after = finalString.substring(index+4);
//将java前后的字符串再拼接成新的字符串
finalString = before+after;
//再判断新字符串中是否存在java,使用indexOf方法重新获取索引
index = finalString.indexOf("java");
System.out.println(finalString);
}
//5、打印结果
//格式
//原字符串:"java woaijava,i like jajavava,i enjoy java"中
//总共包含:5个java,删除java后的字符串为:" woai,i like ,i enjoy "
System.out.println("============================================");
System.out.println("原字符串:"+initString+"中");
System.out.println("总共包含:"+javaNumber+"个java,删除java后的字符串为:"+finalString);
}
}