Char Array辅助

时间:2016-03-09 01:25:22

标签: java arrays

我正在尝试创建一个char数组,但每次运行我的代码时都会收到错误。这是我的代码:

public static int namevalue(String name){
    char[] charval={'', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
    char let;
    int val=0;
    int letter;
    int total=0;
    int character;
    for (letter=0;letter<name.length();letter++){
        let=name.charAt(letter);
        if (charval[letter]==let){
            total+=letter;
        }
        total+=val;
    }
    return total;
}

这是我得到的错误(main.java:10是char数组的行):

main.java:10:错误:空字符文字         char [] charval = {&#39;&#39;,&#39; A&#39;,&#39; B&#39;,&#39; C&#39;,&#39; D&#39; ,&#39;&#39; F&#39;,&#39; G&#39;,&#39; H&#39;,&#39;我&#39;,&#39; J&#39;,&#39; K&#39;,&#39; L&#39;,&#39; M&#39;,&#39; N&#39;,&#39; O&#39;, &#39; P&#39;,&#39; Q&#39;,&#39; R&#39;,&#39; S&#39;,&#39; T&#39;,&#39; U& #39;,&#39; V&#39;,&#39; W&#39;,&#39; X&#39;,&#39; Y&#39;,&#39; Z&#39;};

有一个箭头指向&#34;&#39; S&#39;,&#34;我在调试器中的部分代码,我不确定为什么。如果我删除该部分,请将其制作成&#34;&#39; R&#39;&#39; T&#39;,&#34;同样的错误显示但指出了&#34;&#39;&#39;&#34;&#34;&#39;有人可以帮帮我,告诉我为什么?据我所知,它与其他字母的格式相同,没有问题。

非常感谢

3 个答案:

答案 0 :(得分:0)

就像之前评论的那样,没有文字''。但是,如果您需要将该点保留为空字符串,则可以在其中存储NULL值。

char[] charval={'\u0000', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};

java中“NULL”char的值是'\ u0000'。这是char的默认值。这是从what's the default value of char?

中提取的

答案 1 :(得分:0)

我通过在你的第一个空值中添加一个空格来运行它:

 char[] charval = {' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};

希望这有帮助。

答案 2 :(得分:-1)

另一个,不那么优雅,但我喜欢它的显性是

char[] charval = new char[] {' ', 'A', 'B', 'C'...};

虽然它有点冗长......