无法编写一个接受字符串并返回字符数组的方法

时间:2014-11-04 01:47:51

标签: java arrays string char

我是Java的新手并且坚持使用下面的代码。我不知道如何返回char数组;如果我将字符串"purple"更改为其他内容,Java也不会编译代码。

public class Assigment4 {

    public static void main(String[] args) {
        // I get an error if color is initialized with a longer or shorter string.
        String color = "purple"; 
        char[] a = turnStringtoChar(color);
        System.out.println(a);
    }

    public static char[] turnStringtoChar(String color) {
        char[] letters = {'p', 'u', 'r', 'p', 'l', 'e'};

        for (int i = 0; i < color.length(); i++) {
            // This is the part where I am stuck. I don't know what to return.
            letters[i] = color.charAt(i);
        }

        return letters;
    }

}

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

turnStringtoChar方法中,您需要声明letters字符数组,使其length 依赖的长度为{ {1}}变量。
因此,如果您的输入超过color;例如:"purple";
你的程序不会抛出任何错误。

"yellowwwww"

注意:我理解这是一项任务,必须实现您自己的实现,但为了将来使用,您可以使用//this is what I am talking about char[] letters = new char[color.length()]; for (int i = 0; i < color.length(); i++) { // this is okay! letters[i] = color.charAt(i); } 类中的toCharArray()方法。用法:String

答案 1 :(得分:0)

char[] chars = new char [str.length()];
for (int i=0;i <str.length ();i++) {
    chars [i] = str.charAt (i);
}