【问题标题】:string to a char array in java字符串到java中的char数组
【发布时间】:2018-04-15 01:50:58
【问题描述】:

我有这段代码,我想将我拥有的字符串放在 java 中的 char 数组中,但我遇到的问题是,每当我使用 toCharArray() 时,数组都会减少它的索引,所以,什么我可以用相同的原始索引来保持数组吗?

 public static void main(String[] args) {
    String str = "cat";
    char[][] carray;
    carray = new char[5][5];
    char[] chararray = new char[5];
    chararray = str.toCharArray();
    for(int i=0;i<5;i++){
        carray[i][0] = chararray[i];
    }
    System.out.println(carray);
    for(int i=0;i<5;i++){
        System.out.println("65"+carray[i][0]);
    }

【问题讨论】:

  • 你得到了什么输出?你期待什么?
  • 如果我保持 for 循环 for(int i=0;i
  • edit该问题以添加更多信息....目前还不清楚您要做什么。 toCharArray 不会改变索引位置。而cat 只有 3 个字母,而不是 5 个。另外,您不需要 char[][] 将字符串转换为 char 数组
  • 这是一个示例或一个更大项目的小尝试,所以我有一个 char[][] 的二维数组,但我还需要从用户插入的字符串中填充它跨度>

标签: java arrays string char


【解决方案1】:

使用str.charAt(i) 而不是chararray[i]

这可能会有所帮助。

【讨论】:

  • 谢谢你帮了我很多,而不是创建一个数组我可以使用这个方法,它解决了我的问题
【解决方案2】:

“猫”只有三个字符(不是五个)。不要硬编码长度,而是使用String 来确定正确的长度。此外,您的第二个数组维度应该只有一个(因为您一次只复制一个字符)。喜欢,

String str = "cat";
char[] chararray = str.toCharArray();
char[][] carray = new char[chararray.length][1];
for (int i = 0; i < carray.length; i++) {
    carray[i][0] = chararray[i];
}
System.out.println(Arrays.deepToString(carray));
for (int i = 0; i < carray.length; i++) {
    System.out.println("65" + carray[i][0]);
}

【讨论】:

    猜你喜欢
    • 2012-07-25
    • 2016-10-24
    • 2021-10-05
    • 2018-06-23
    • 2017-06-15
    • 1970-01-01
    • 2014-05-01
    • 2013-01-04
    • 2012-02-28
    相关资源
    最近更新 更多