java - 如何找到file.txt的最大和最小数字?

标签 java file integer readfile

我正在开发一个 Java 程序。我必须计算 file.txt 中的总数,但我没有办法找到 file.txt 的最大和最小数字,我希望你可以帮助我。

我的代码在这里:

package program;

import java.io.IOException;
import java.io.StreamTokenizer;
import java.io.FileReader;

public class count 
{
    int countnum=0;

    public count() throws IOException
    {
        StreamTokenizer st=new StreamTokenizer(new FileReader("file.txt"));

        while(st.nextToken() != StreamTokenizer.TT_EOF) {           
            if(st.ttype == StreamTokenizer.TT_NUMBER) {
                countnum++;
            }
        }

        System.out.println("total numbs are: "+countnum);
    }

    public static void main(String[] args) throws IOException {
        new count();
    }

}

最佳答案

上一个答案中的代码可以工作,但在这种情况下使用 Set 是一种矫枉过正。它会产生存储集合中每个数字的成本。对于非常大的文件,性能将明显比下面的解决方案差,在我看来,这同样优雅。

public void count() throws IOException
{
    int countnum = 0;
    int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
    StreamTokenizer st = new StreamTokenizer(new FileReader("file.txt"));

    while(st.nextToken() != StreamTokenizer.TT_EOF) {           
        if(st.ttype == StreamTokenizer.TT_NUMBER) {
            countnum++;
            int value = (int) st.nval;
            if (value < min)
                min = value;
            if (value > max)
                max = value; 
        }
    }

    System.out.println("total numbs are: " + countnum);
    System.out.println("highest is : " + max + ", smallest is : " + min);
}

关于java - 如何找到file.txt的最大和最小数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809517/

相关文章:

python - 如何同时请求浮点输入和整数?

c++ - 确定在 C++11 中实现大数的最有效字长?

java - 如何从android中的字节数组加载类?

java - 如何在另一个线程中创建 Android 通知?

java - 字符串分词器到数组 java

c - 如何在 C 中创建自己的头文件?

Perl 在 Windows 中使用外来字符

java - 使用 webclient 和 Flux 进行多个异步剩余分页调用

java - 在tomcat中运行.jar

java - 我如何从java中的整数中获取 double 值?