计算字母数

时间:2018-02-25 19:42:52

标签: java

我完全阻止了一个小问题。我想计算每个名字的字母数。我认为我的问题在这里。

System.out.println("The name " + tab[i] + "contains " + length.tab[i] + " letters"); 

以下是我的代码:

String[] tab = {"Jean-Michel", "Marc", "Vanessa", "Anne", "Maximilien", "Alexandre-Benoît", "Louise"};
        int i = 0;

        while(i < tab.length){
            System.out.println("The name " + tab[i] + "contains " + length.tab[i] + " letters");
            i = i +1;
        }

4 个答案:

答案 0 :(得分:3)

首先,我不会使用while,但是:

for(String name: tab) {
    System.out.println("The name " + name + "contains " + name.length() + " letters"); 
}

此外,如果您只需要计算字符数,则需要先删除"-"

for(String name: tab) {
    String removeMinus = name.replace("-", "");
    System.out.println("The name " + name + "contains " + removeMinus.length() + " letters"); 
}

旁注:如果需要,您可能需要使用除replace之外的其他方法来仅计算字符数。有许多图书馆可以做到这一点。

答案 1 :(得分:1)

尝试

String[] tab = {"Jean-Michel", "Marc", "Vanessa", "Anne", "Maximilien", "Alexandre-Benoît", "Louise"};
    int i = 0;

    while(i < tab.length){
        System.out.println("The name " + tab[i] + "contains " + tab[i].length() + " letters");
        i = i +1;
    }

Docs

答案 2 :(得分:0)

将length.tab [i]替换为循环内的tab [i] .length()。这将为你提供字符串中的字符数,但实际上不会只计算字母数,为此你需要为它添加更多的逻辑。也许尝试在IDE中运行代码 - Eclipse,IntelliJ?这将帮助您开始学习并自己识别错误。

答案 3 :(得分:0)

我会创建第二个函数,你传入一个字符串(这里是一个名字),它会计算你的字符数。在方法中使用for循环并在每个字符上调用Character.isLetter(),如果是,则递增计数器,如果不是,则不执行任何操作。