java - Java 中使用数组进行字符串连接。没有得到想要的输出

标签 java arrays string

import java.util.Scanner;

public class Main
{
  public static void main (String[]args)
  {

    int i, j;

    String name = "kamal";
    char[] ab = name.toCharArray ();
    String actor = "hasan";
    char[] cd = actor.toCharArray ();

    int l1 = ab.length;
    int l2 = cd.length;

    System.out.println (l1);
    System.out.println (l2);


for (i =0;i <=l2;i++)
      {


        ab[l1 + i] = cd[i];

      }

   System.out.println(ab);   


  }

}

我得到的输出为 5,5 ArrayIndexOut of Bounds 而不是 kamalhasan 的输出

最佳答案

正如@dassum上面指出的,您正在向固定长度为5的“ab”数组添加元素。您可以创建另一个长度为“l1+l2”的数组,然后首先复制“ab”的内容,然后复制“ab”的内容“CD”。

char[] concatenatedArray = new char[l1+l2];

for (i =0;i <l1;i++)
{
    concatenatedArray[i] = ab[i];
}

for (i =0;i <l2;i++)
{
    concatenatedArray[l1+i] = cd[i];
}
System.out.println(concatenatedArray);

关于java - Java 中使用数组进行字符串连接。没有得到想要的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59550941/

相关文章:

java - Android - 使用 ViewGroup 的 NullPointerException

arrays - 为什么合并排序对大数组更好,而快速排序对小数组更好?

java - 使用snakeYaml解析字符串数组

c - 创建文本编辑器时将一行分成两行

c# - 如何在C#中创建带有特殊字符的字符串

java - Android图像缩放布局问题

java - 将 Tomcat 设置为在错误加载 Web 应用程序时死机

c# - Double.doubleToLongBits 在 C# 中等效?

c# - 在数组中找不到某些值

java - 在单独的类中访问私有(private)变量?