如何在数组中合并索引以在Java中创建1个主数组/字符串?

用户名

输入应该是

ABDECDEABCAADD
ABCDE

第一行是随机文本。第二行是循环移位。

输出应该是:

yes

该程序应该接受一段文本,并根据输入的第二行确定它是否包含循环移位。循环移位是指获取字符串的第一个字母并将其移至字符串的末尾。从而创建一个新的字符串。

如果输入的文本包含从第二行起的循环移位,则输出为是,否则为否。

由于ABDECDEABCAADD包含DEABC(这是ABCDE的移位),因此输出为yes。

Scanner scan = new Scanner(System.in);
    
    String text;
    
    
    System.out.println("Enter text:");
    text=scan.nextLine();
    
    System.out.println("Enter shift:");
    String shift=scan.nextLine();
    
    
    String[] split1=shift.split("");
    String[] array2=new String[split1.length];
    String[] array3=new String[split1.length];
    
    for(int z=0;z<split1.length;z++) {
    
        array2[split1.length-1]=split1[0];
    
        for(int x=0;x<split1.length-1;x++) {
            array2[x]=split1[x+1];
            array3[0]=array2[x]+array2[x+1];
        }
        
    //if(text!=)
    }
    
    for(int y=0;y<array2.length;y++) {
        System.out.print(array2[y]);
    }

我要解决的问题是首先获取输入,然后将第二行分隔为字符,以便创建循环移位。完成后,我将采用新的字符顺序并将其合并以创建字符串。

在合并时,我需要帮助,但在创建多个班次方面也需要帮助。如果您看到此请求帮助。

安德烈亚斯

不要制造转变。为了获得最佳性能,请执行以下操作:

String text = "ABDECDEABCAADD";
String shift = "ABCDE";
  1. 扫描text中的第一个字符shift,即扫描'A'

  2. 找到后,请尽可能多地匹配以下字符。

  3. 如果不是所有的字符shift都匹配,则获取丢失字符的计数。

  4. 'A'如果有的话,从找到的字符中抓取那么多字符

  5. 如果找到并且它们与中的其余字符匹配shift,则搜索完成。

  6. 从步骤1重复,搜索下一个'A'

例子

static int matchShift(String text, String shift) {
    if (shift.isEmpty())
        throw new IllegalArgumentException("Shift value is empty");
    char first = shift.charAt(0);
    for (int i = 0; i < text.length(); i++) {
        if (text.charAt(i) == first) {
            int j = 1;
            while (j < shift.length() && i + j < text.length()
                   && text.charAt(i + j) == shift.charAt(j))
                j++;
            if (j == shift.length())
                return i; // Match found at index 'i', with unshifted value
            int start = i + j - shift.length();
            if (start >= 0 && text.substring(start, i).equals(shift.substring(j, shift.length())))
                return start; // Match found at index 'start', with shifted value
        }
    }
    return -1; // No match found
}

测试

public static void main(String[] args) {
    test("ABDECDEABCAADD", "ABCDE");
}

static void test(String text, String shift) {
    int i = matchShift(text, shift);
    if (i == -1)
        System.out.printf("'%s', '%s': No Match%n", text, shift);
    else
        System.out.printf("'%s', '%s': Match at index %d ('%s')%n",
                          text, shift, i, text.substring(i, i + shift.length()));
}

输出

'ABDECDEABCAADD', 'ABCDE': Match at index 5 ('DEABC')

它也可能以回应Match at index 4 ('CDEAB')如果这是很重要的,改变的逻辑来搜索最后一个字符,而不是第一个,匹配向后,然后比较子

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在数组中合并索引以在Java中创建1个主数组/字符串?

来自分类Dev

如何在数组中合并索引以在Java中创建1个主数组/字符串?

来自分类Dev

如何在数组中合并索引以在Java中创建1个主数组/字符串?

来自分类Dev

如何在数组数组中连接数组的字符串属性并在每个数组中创建一个新属性

来自分类Dev

如何在数组中搜索字符串

来自分类Dev

如何在数组中设置拆分字符串?

来自分类Dev

如何在数组中组合相同的字符串?

来自分类Dev

如何在TypeScript中遍历字符串索引数组?

来自分类Dev

如何在ravendb中写入字符串数组索引

来自分类Dev

如何在带有字符串索引的php中动态创建数组

来自分类Dev

如何在数组索引中创建一个Postgresql JSONB数组?

来自分类Dev

如何在C中创建定长“字符串”数组?

来自分类Dev

如何在C ++中创建数组的向量(字符串[])

来自分类Dev

如何在字符串中创建标志数组?(JavaScript)

来自分类Dev

如何在C ++中创建数组的向量(字符串[])

来自分类Dev

如何在php中创建字符串对象数组?

来自分类Dev

如何在 Java 中的数组字符串的索引上使用正则表达式

来自分类Dev

如何在方法签名中查找带有字符串索引的字符串数组?

来自分类Dev

使用Java在数组中查找子字符串索引

来自分类Dev

如何检查字符串是否包含NodeJS中子字符串数组中的文本,然后在数组中找到该子字符串的索引?

来自分类Dev

如何在Java中创建,填充和打印字符串数组

来自分类Dev

如何在Java中创建,填充和打印字符串数组

来自分类Dev

如何在Java中为整数和字符串创建数组?

来自分类Dev

如何在数组字符串中搜索非字母字符?

来自分类Dev

如何在数组字符串中搜索非字母字符?

来自分类Dev

如何在bash中拆分字符串并将令牌存储在数组中

来自分类Dev

如何在数组中(在Powershell中)使用数字字符串进行操作?

来自分类Dev

如何在数组中的字符串中开始新行?

来自分类Dev

Java在数组的内部列表中添加字符串

Related 相关文章

  1. 1

    如何在数组中合并索引以在Java中创建1个主数组/字符串?

  2. 2

    如何在数组中合并索引以在Java中创建1个主数组/字符串?

  3. 3

    如何在数组中合并索引以在Java中创建1个主数组/字符串?

  4. 4

    如何在数组数组中连接数组的字符串属性并在每个数组中创建一个新属性

  5. 5

    如何在数组中搜索字符串

  6. 6

    如何在数组中设置拆分字符串?

  7. 7

    如何在数组中组合相同的字符串?

  8. 8

    如何在TypeScript中遍历字符串索引数组?

  9. 9

    如何在ravendb中写入字符串数组索引

  10. 10

    如何在带有字符串索引的php中动态创建数组

  11. 11

    如何在数组索引中创建一个Postgresql JSONB数组?

  12. 12

    如何在C中创建定长“字符串”数组?

  13. 13

    如何在C ++中创建数组的向量(字符串[])

  14. 14

    如何在字符串中创建标志数组?(JavaScript)

  15. 15

    如何在C ++中创建数组的向量(字符串[])

  16. 16

    如何在php中创建字符串对象数组?

  17. 17

    如何在 Java 中的数组字符串的索引上使用正则表达式

  18. 18

    如何在方法签名中查找带有字符串索引的字符串数组?

  19. 19

    使用Java在数组中查找子字符串索引

  20. 20

    如何检查字符串是否包含NodeJS中子字符串数组中的文本,然后在数组中找到该子字符串的索引?

  21. 21

    如何在Java中创建,填充和打印字符串数组

  22. 22

    如何在Java中创建,填充和打印字符串数组

  23. 23

    如何在Java中为整数和字符串创建数组?

  24. 24

    如何在数组字符串中搜索非字母字符?

  25. 25

    如何在数组字符串中搜索非字母字符?

  26. 26

    如何在bash中拆分字符串并将令牌存储在数组中

  27. 27

    如何在数组中(在Powershell中)使用数字字符串进行操作?

  28. 28

    如何在数组中的字符串中开始新行?

  29. 29

    Java在数组的内部列表中添加字符串

热门标签

归档