我正在尝试解决这个问题:编写一个程序,向命令行传递一个字符串并显示该字符串中大写字母的数量。
测试是 ProgrammingIsFun,因此计数为 3。
这是我目前的情况
public static void main(String[] args) {
int count = 0;
for(int i = 0; i < args.length;i++) {
for(int j = 0; j >= i; j++)
if(Character.isUpperCase(args[i].charAt(j)))
count++;
}
System.out.print("The number of upper cases are: " + count);
}
当它运行时,它确实计算了正确的大写字母数量,但它在到达字符末尾时运行(16)。我不知道如何在最后一个字符之后立即停止循环。我知道计数是正确的,因为我可以在调试中看到它。我可以在变量中看到一个叫做 arg0 的东西。字符数正确,但我无法使用。
我还在学习,我现在不能使用对象或类似的东西。 任何帮助,将不胜感激。或者如果你能指出我可以阅读的地方。我尝试了这些文档,但内容很多,我很快就不知所措了。
最佳答案
你在内循环中有一个错误:
for(int j = 0; j >= i; j++)
请注意,外层循环针对每个命令行参数运行,内层循环针对 i 给出的参数的每个字符运行。
所以改成
for(int j = 0; j < args[i].length(); j++)
关于java - 从命令行检查字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54472223/