java字符串运用

一、获取输入字符串中最长数字串及其长度

//获取输入字符串中最长数字串及其长度
	private static void work_2() {
		int lastIndex = 0;//最长数字串尾下标
		int maxLen = 0;
		
		Scanner input = new Scanner(System.in);
		
		System.out.print("输入总字符串:");
		
		String str = input.nextLine();
		
		int len = 0;//当前数字串长度
		//遍历字符串
		for (int i = 0; i < str.length(); i++) {
			char ch = str.charAt(i);
			if(Character.isDigit(ch)) {//当当前遍历字符为数字时
				len++;//记录的数字长度加1
//				maxLen = Math.max(maxLen, len);
				//当遍历的数字长度大于记录最大长度时
				if(len > maxLen) {
					maxLen = len;//更改最大长度记录
					lastIndex = i;//改变最长数字尾下标
				}
			}else {//如果遍历的字符不是数字,则当前数字串长度初始化为0
				len = 0;
			}
		}
		
		System.out.println("最长数字串长度:" + maxLen);
		//通过尾部坐标和长度截取符合条件的字符串
		System.out.println("最长数字串:" + str.substring(lastIndex + 1 - maxLen, lastIndex + 1).toString());
	}

二、反转指定字符串

//反转指定字符串
	private static void work_3() {
		String str1 = "abcdefghijklmnopqrstuvwxyz";
		String str2 = "mnopqrstuvwx";
		
		//打印反转前输出
		System.out.println("反转前:" + str1);
		//首先反转指定字符串
		StringBuffer sb = new StringBuffer();
		
		//从字符串最后开始遍历需要反转的字符串
		for (int i = str2.length() - 1; i >= 0; i--) {
			sb.append(str2.charAt(i));//将遍历得到的字符串添加进行StringBuffer中
		}
		
		//获取反转后字符串
		String str3 = sb.toString();
		
		//替换反转的部分字符串
		str1 = str1.replace(str2, str3);
		
		//打印反转后输出
		System.out.println("反转后:" + str1);
	}

三、获取指定字符串的出现次数和出现坐标

//获取指定字符串的出现次数和出现坐标
	private static void work_4() {
		Scanner input = new Scanner(System.in);
		
		System.out.print("输入被查找字符串:");
		String A = input.nextLine();
		
		System.out.print("输入查找字符串:");
		String B = input.nextLine();
		
		//记录B出现坐标
		List<Integer> indesList = new ArrayList<Integer>();
		
		//记录当前坐标
		int index = 0;
		//获取第一次坐标
		index = A.indexOf(B);
		indesList.add(index);
		
		//死循环
		while(true) {		
			//从上一次出现的坐标开始向后移动B.length()长度继续查找
			index = A.indexOf(B,index + B.length());	
			
			if(index == -1) break;//如果找不到下一个相同字符串,则结束循环
			
			indesList.add(index);//否则记录当前坐标
		}
		
		//打印列表长度,即出现次数
		System.out.println("需要查找的字符串出现次数:" + indesList.size());
		//打印列表,即出现的坐标
		System.out.println("需要查找的字符串坐标列表:" + indesList.toString());
	}

四,测试

1.获取输入字符串中最长数字串及其长度测试

2.反转指定字符串测试

 3.获取指定字符串的出现次数和出现坐标测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值