Java连接4个字符串,然后截断

Java连接4个字符串,然后截断,java,concatenation,truncate,Java,Concatenation,Truncate,处理Java问题 我有四根弦: s1,s2,s3,s4,我必须将它们连接成一个。如果随后生成的字符串长度超过75个字符,则需要截断,但从s1开始,并截断该字符串最右边的字符,直到它与其他3个字符合二为一。如果我最终删除了s1中的所有字符,然后继续执行s2截断,再次从最右边的字符开始,直到s2+s3+s4您需要的不是字符串,而是字符串的长度 获取所有字符串的长度之和 检查需要截断的字符串 获取从截断字符串开始的和 把字符串的长度加起来。 如果结果大于75,请计算要截断的字符数。 截断第一个字符串,

处理Java问题

我有四根弦:
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 ..
        }
    }