压缩字符串代码实现(xxxyyz

阅读: 评论:0

压缩字符串代码实现(xxxyyz

压缩字符串代码实现(xxxyyz

通过键盘输入一串小写字母(a-z)组成的字符串。请编写一个字符串压缩程序。 将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。

1.仅压缩连续重复出现的字符。比如字符串“abcbc”,由于无连续重复字符,压缩后的字符串还是“abcbc”。

2.压缩字段的格式为:字符重复的次数+字符。例如:字符串:"xxxyyyyyyz"压缩后就成为"3x6yz"。

public static void main(String[]args){Scanner scanner = new Scanner(System.in);String str = "";System.out.println("请输入一串字符:");str = Line();String result = compressLetters(str);System.out.println("压缩前的字符串:"+str);System.out.println("压缩后的字符串:"+result);
}
public static String compressLetters(String letters){String resultStr = "";if (!StringUtil.isBlank(letters)){char[] strArry = CharArray();int index = 0;String mb = String.valueOf(strArry[0]);for (char c:strArry){if (mb.equals(String.valueOf(c))){index ++;}else {if (index == 1){resultStr += mb;}else {resultStr += index + mb;}mb = String.valueOf(c);index = 1;}}if (index == 1){resultStr += mb;}else {resultStr += index + mb;}}return resultStr;
}

但是这样还不完美,因为有可能输入的是大写字母。所以加了判断大小写字母的方法:

/*** 通过键盘输入一窜小写字母(a-z)组成的字符串。请编写一个字符串压缩程序。* 将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。* Created by chenying on 2018/11/26.*/
public class SuanFa8 {public static void main(String[]args){Scanner scanner = new Scanner(System.in);String str = "";System.out.println("请输入一串字符:");str = Line();String result = compressLetters(str);System.out.println("压缩前的字符串:"+str);System.out.println("压缩后的字符串:"+result);}public static String compressLetters(String letters){String resultStr = "";if (!StringUtil.isBlank(letters)){char[] strArry = CharArray();int index = 0;if (isUpperCase(strArry[0])){System.out.println("请输入小写字母!");return null;}String mb = String.valueOf(strArry[0]);for (char c:strArry){if (mb.equals(String.valueOf(c))){index ++;}else {if (index == 1){resultStr += mb;}else {resultStr += index + mb;}if (Character.isUpperCase(c)){System.out.println("请输入小写字母!");return null;}mb = String.valueOf(c);index = 1;}}if (index == 1){resultStr += mb;}else {resultStr += index + mb;}}return resultStr;}public  static boolean isUpperCase(char c) {return c >= 65 && c <= 90;}public static boolean isLowerCase(char c) {return c >= 97 && c <= 122;}
}

 

 

本文发布于:2024-02-04 05:28:03,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170700144852568.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字符串   代码   xxxyyz
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23