字符串压缩

该博客探讨了一段Java代码,其功能是压缩字符串。代码首先读取用户输入的字符串,然后通过比较相邻字符来实现压缩。如果连续的字符相同,则计数,不同则记录字符及其出现次数。最后,根据压缩后的字符串长度与原字符串长度比较,决定是否输出原字符串或压缩后的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
运行结果
这这![在这里插入图片描述](https://img-blog.csdnimg.cn/20210206021434675.png#pic_center在这里插入图片描述
第一个为压缩的情况

在这里插入图片描述
第二个为不压缩的情况
具体代码如下
package com.java.text;
import java.util.Scanner;
public class Demo2 {
static Scanner input=new Scanner(System.in);
public static void main(String[] args) {
System.out.println(“请输入一段字符串”);
String s=input.nextLine();
Constringe c=new Constringe();
c.str=s;
c.getPlace();
c.getString();
}
}
class Constringe {
static int count = 1;
String str;
int numder=0;
int []place=new int[26];
char []arry=new char[26];
void getPlace(){
str=str+’ ';
for(int i=0;i<str.length()-1;i++) {
if(str.charAt(i)==str.charAt(i+1))
count++;
else{
arry[numder]=str.charAt(i);
place[numder]=count;
numder++;
count=1;
}
}
}
void getString(){
StringBuilder sb=new StringBuilder();
for(int i=0;i<numder;i++){
sb.append(arry[i]);
sb.append(place[i]);
}
String text=sb.toString();
if(text.length()>=str.length())
System.out.println(str);
else
System.out.println(text);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值