2013-01-24 101 views
3

我试图制作一个分隔字符的程序。 的问题是:Java字符数组初始化器

“创建一个字符数组,并使用数组初始化来初始化与所述字符串中的字符‘您好’的阵列使用for语句显示数组的内容分隔每个字符英寸。有空间的阵列“。


程序我提出:

String ini="Hi there"; 
    char[] array=new char[ini.length()]; 


    for(int count=0;count<array.length;count++){ 

    System.out.print(" "+array[count]); 


    } 

我应该怎么做才能解决这个问题?

+0

的可能的复制[如何使用炭文字给init char数组?](http://stackoverflow.com/questions/11711228/how-to-init-char-array-using-char-文字) – Stephan

回答

12

这里是你如何将字符串转换为字符数组:

String str = "someString"; 
char[] charArray = str.toCharArray(); 

我建议你在编程时轻松查看哪些方法一类包含使用IDE(在这种情况下,你会能够找到toCharArray())并编译像上面那样的错误。您还应该熟悉文档,在这种情况下,文档将是this String documentation

此外,总是发布你遇到的编译错误。在这种情况下,很容易发现,但如果不包含在帖子中,您将无法得到任何答案。

0

您做错了,您首先使用空格作为分隔符使用String.split()拆分字符串,并用charcters填充char数组。

或更简单只使用String.charAt()在循环填充数组象下面这样:

String ini="Hi there"; 
    char[] array=new char[ini.length()]; 

    for(int count=0;count<array.length;count++){ 
     array[count] = ini.charAt(count); 
    System.out.print(" "+array[count]); 
    } 

或一个衬垫会

String ini="Hi there"; 
    char[] array=ini.toCharArray(); 
0

下面是代码

String str = "Hi There"; 
char[] arr = str.toCharArray(); 

for(int i=0;i<arr.length;i++) 
    System.out.print(" "+arr[i]); 
0

相反以上的方式你可以简单地通过以下方法实现解决方案..

public static void main(String args[]) { 
    String ini = "Hi there"; 
    for (int i = 0; i < ini.length(); i++) { 
     System.out.print(" " + ini.charAt(i)); 
    } 
} 
0
char array[] = new String("Hi there").toCharArray(); 
for(char c : array) 
    System.out.print(c + " "); 
+2

一个直接的代码答案提供了有关您的决议的少量信息或为什么是作品。请给出一些解释或叙述。 –