Java 在多维数组中设置字符串

Java 在多维数组中设置字符串,java,arrays,string,multidimensional-array,Java,Arrays,String,Multidimensional Array,我想在多维数组中的特定位置放置一个字符串。字符串应该从右向左写入 public class PutStringInArray { public static void main(String[] args) { char[][] array1 = new char[10][10]; String test = "Hello"; char[2] = test; } } 我意识到代码不是那样工作的。在本例中,我希望字

我想在多维数组中的特定位置放置一个字符串。字符串应该从右向左写入

public class PutStringInArray {

    public static void main(String[] args) {
            char[][] array1 = new char[10][10];
            String test = "Hello";
        char[2] = test;
    }
}
我意识到代码不是那样工作的。在本例中,我希望字符串(在本例中为“hello”)以“array1[2][0]”开头,以“array1[2][4]”结尾。 应按以下方式填写:

array1 [2] [0] = h,
array1 [2] [1] = e,
array1 [2] [2] = l,
array1 [2] [3] = l,
array1 [2] [4] = o

这可能是一个非常简单的解决方案,但我想不出来。

您应该尝试将字符串转换为字符数组

char[][] array1 = new char[10][10];
String test = "Hello";
array1[2] = test.toCharArray();
编辑

如果希望字符串“Hello”开始排列1[2][2],则应使用


注意数组长度。

您应该尝试将字符串转换为字符数组

char[][] array1 = new char[10][10];
String test = "Hello";
array1[2] = test.toCharArray();
编辑

如果希望字符串“Hello”开始排列1[2][2],则应使用


只需注意数组长度。

您可以迭代
字符串
,并将其放入索引
2
返回的数组中。正如以下代码片段所做的那样:

char[][] array1 = new char[10][10];
String test = "Hello";

char[] array2 = array1[2]; // char[2] changed to array1[2]
for(int i = 0; i < test.length(); i++){
    if(i >= array2.length){
        break;
    }
    array2[i] = test.charAt(i);
}
char[][]array1=新字符[10][10];
String test=“Hello”;
char[]array2=array1[2];//字符[2]更改为数组1[2]
对于(int i=0;i=阵列2.长度){
打破
}
array2[i]=测试字符(i);
}

if语句的使用使得比数组大小长的字符串被截断。

您可以迭代
字符串
,并将其放入索引
2
处返回的数组中。正如以下代码片段所做的那样:

char[][] array1 = new char[10][10];
String test = "Hello";

char[] array2 = array1[2]; // char[2] changed to array1[2]
for(int i = 0; i < test.length(); i++){
    if(i >= array2.length){
        break;
    }
    array2[i] = test.charAt(i);
}
char[][]array1=新字符[10][10];
String test=“Hello”;
char[]array2=array1[2];//字符[2]更改为数组1[2]
对于(int i=0;i=阵列2.长度){
打破
}
array2[i]=测试字符(i);
}

if语句的使用使得长度超过数组大小的字符串被截断。

更好的方法是不定义所需的列数

char[][] arr = new char[10][];
arr[2] = "hello".toCharArray();
arr[7] = "world".toCharArray();
System.out.println(Arrays.toString(arr[2]));
System.out.println(Arrays.toString(arr[7]));

更好的方法是不定义所需的列数

char[][] arr = new char[10][];
arr[2] = "hello".toCharArray();
arr[7] = "world".toCharArray();
System.out.println(Arrays.toString(arr[2]));
System.out.println(Arrays.toString(arr[7]));

使用
字符(计数器)
和双循环逐个插入元素。(每当在数组中插入一个字符时,
计数器将从
0
递增)您需要循环字符串中的字符,并自行设置数组中的每个字符。另外,如果你不想让数组的维数保持相等,你可以使用String方法toCharray()并将返回值赋给char[2],使用
charAt(counter)
和双循环逐个插入元素。(每当在数组中插入一个字符时,
计数器将从
0
递增)您需要循环字符串中的字符,并自行设置数组中的每个字符。另外,如果您不想让数组维度保持相等,您可以使用String方法toCharray()并将返回值赋给char[2],也可能字符串不是以“array1[2][0]”开头,而是以“array1[2][2]”开头?嗯……好的。它起作用了。但是我在寻找一种简单的方法……我想直接把它带到这个数组位置。@Syntax6如果你认为这个简单的一行程序不是一种“简单的方法”,那么你可能对编程的工作原理和实际上不简单的东西有错误的想法。字符串是否也可能不是以“array1[2][0]”开头,而是以“array1[2][2]”开头?嗯……好的。它起作用了。但是我在寻找一种简单的方法……我想直接把它带到这个数组的位置。@Syntax6如果你认为这个简单的一行程序不是一种“简单的方法”,那么你可能对编程的工作原理和实际上不简单的东西有错误的想法。