Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算文本文件中的字符数_Java - Fatal编程技术网

Java 计算文本文件中的字符数

Java 计算文本文件中的字符数,java,Java,我试图制作一个程序,从一个文件中读取并计算有多少小写字母、大写字母、空格字符(制表符、回车符等)和其他所有字符 这是我的代码,它显示了正确数量的字母,但出于某种原因,“其他”计数器显示的方式比它应该显示的更多。有人知道我做错了什么吗 File file = new File("C:\\Temp\\Test.txt"); Scanner s = new Scanner(file).useDelimiter(""); for (int i = 0; i < file.

我试图制作一个程序,从一个文件中读取并计算有多少小写字母、大写字母、空格字符(制表符、回车符等)和其他所有字符

这是我的代码,它显示了正确数量的字母,但出于某种原因,“其他”计数器显示的方式比它应该显示的更多。有人知道我做错了什么吗

    File file = new File("C:\\Temp\\Test.txt");
    Scanner s = new Scanner(file).useDelimiter("");

    for (int i = 0; i < file.length(); i++) {
        char c = s.next().charAt(0);

        if (Character.isLetter(c)) {
            if (Character.isLowerCase(c)) {
                isLower++;
            } else {
                isUpper++;
            }
        } else if (Character.isSpaceChar(c) || (c == '\n') || (c == '\t')) {
            isSpace++;
        } else {
            isOther++;
        }

    }
File File=new文件(“C:\\Temp\\Test.txt”);
扫描仪s=新扫描仪(文件).useDelimiter(“”);
对于(int i=0;i
当utf8字符乘以2时,等温线计数器包含\r其他内容。检查编码并检查文件格式

对于第二个条件,请注意有一个
字符。isWhitespace
函数将涵盖所有这三种情况。您是否在计算数字?除了您的问题之外,您的变量名表明
isLower、isUpper、isSpace、isOther
是布尔值。你应该考虑重命名它们。