Java连接4个字符串,然后截断
处理Java问题 我有四根弦:Java连接4个字符串,然后截断,java,concatenation,truncate,Java,Concatenation,Truncate,处理Java问题 我有四根弦: s1,s2,s3,s4,我必须将它们连接成一个。如果随后生成的字符串长度超过75个字符,则需要截断,但从s1开始,并截断该字符串最右边的字符,直到它与其他3个字符合二为一。如果我最终删除了s1中的所有字符,然后继续执行s2截断,再次从最右边的字符开始,直到s2+s3+s4您需要的不是字符串,而是字符串的长度 获取所有字符串的长度之和 检查需要截断的字符串 获取从截断字符串开始的和 把字符串的长度加起来。 如果结果大于75,请计算要截断的字符数。 截断第一个字符串,
s1
,s2
,s3
,s4
,我必须将它们连接成一个。如果随后生成的字符串长度超过75个字符,则需要截断,但从s1
开始,并截断该字符串最右边的字符,直到它与其他3个字符合二为一。如果我最终删除了s1
中的所有字符,然后继续执行s2
截断,再次从最右边的字符开始,直到s2+s3+s4您需要的不是字符串,而是字符串的长度
获取所有字符串的长度之和
检查需要截断的字符串
获取从截断字符串开始的和李>
把字符串的长度加起来。
如果结果大于75,请计算要截断的字符数。
截断第一个字符串,直到截断了正确的字符数,或者第一个字符串为空。
在后一种情况下,重复字符串2,依此类推。
之后,连接结果字符串
现在您只需要将散文翻译成java代码:-)字符串s1、s2、s3、s4;
ArrayList=新建ArrayList();
列表。添加(s1);
列表。添加(s2);
增加(s3);
列表。添加(s4);
int len=0;
用于(字符串s:列表)
len+=s.长度();
如果(len>75)
{
int diff=len-75;
对于(int i=0;i0;i++){
字符串s=list.get(i);
int len=s.length();
if(len
为什么这个问题被否决了?为什么没有任何关于否决票的评论呢?那么你是在每个字符串s1、s2等中从右到左取字母,直到字符串的长度在75以内吗?可能只是从要截断的字符数中减去第一个字符串的长度;)是的,我本来会这么做的,但我不是来帮他做电脑作业的。这就是为什么我只写散文。非常感谢。这正是我想要的。
String s1, s2, s3, s4;
ArrayList<String> list = new ArrayList<>();
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
int len = 0;
for(String s : list)
len += s.length();
if(len > 75)
{
int diff = len - 75;
for(int i = 0; i < list.size() && diff > 0; i++) {
String s = list.get(i);
int len = s.length();
if(len < diff)
list.set(i, null);
else {
s = s.subString(0, s.length() - diff);
list.set(i, s);
}
diff -= len;
}
}
String result = "";
for(String s : list) {
if(s != null) {
// concat ..
}
}