我完全阻止了一个小问题。我想计算每个名字的字母数。我认为我的问题在这里。
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;
}
答案 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;
}
答案 2 :(得分:0)
将length.tab [i]替换为循环内的tab [i] .length()。这将为你提供字符串中的字符数,但实际上不会只计算字母数,为此你需要为它添加更多的逻辑。也许尝试在IDE中运行代码 - Eclipse,IntelliJ?这将帮助您开始学习并自己识别错误。
答案 3 :(得分:0)
我会创建第二个函数,你传入一个字符串(这里是一个名字),它会计算你的字符数。在方法中使用for循环并在每个字符上调用Character.isLetter(),如果是,则递增计数器,如果不是,则不执行任何操作。