Java中十进制数的计数

Java中十进制数的计数,java,while-loop,integer,double,java.util.scanner,Java,While Loop,Integer,Double,Java.util.scanner,我有一个问题,我试图用一个小数点来计算数字的数量,但是只要有一个整数,即使它是一个整数,它也只是在计算 Scanner cd = new Scanner(name); // count double Scanner cn = new Scanner(name).useDelimiter("[^0-9]+"); // count int while(cn.hasNextInt()) { cn.nextInt();

我有一个问题,我试图用一个小数点来计算数字的数量,但是只要有一个整数,即使它是一个整数,它也只是在计算

    Scanner cd = new Scanner(name); // count double
    Scanner cn = new Scanner(name).useDelimiter("[^0-9]+");  // count int

            while(cn.hasNextInt()) {
            cn.nextInt();
            numberOfInts++;

        }    

        while(cd.hasNextDouble()) {
            cd.nextDouble();
            numberOfDecimals++;
        }

所以,是的,每当扫描一个整数时,小数的数量就会计数,即使它是一个整数,我也希望它只是用一个小数点来计数

每行最多可以有一个任意类型的数字,或者一行上可以有多个数字?如果没有已知的格式和清晰的分隔符,那么假设文件的内容是未知的,那么您如何知道12345是单个整数,还是五个单位整数的列表?类似地,你怎么能确定12.34是一个十进制数,而不是一对以句点分隔的整数呢?好吧,为了这个问题的目的,让我们假设12.7 indeeds表示它是一个双精度数,123表示一百二十三。但是这些数字的开头和结尾是什么呢?空间?引用?新线?听起来你将被迫使用猜测,从长远来看,这通常意味着麻烦。