读取文件并在java中打印最大和最小数字

时间:2013-03-10 04:26:13

标签: java file

我需要打印此文件中的最大和最小数字...我尝试了所有内容,但似乎无法使其正常工作。我是初学者,请帮忙

public class Banck {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        System.out.println("Welcome to JEEEZBANK");

        final int NUM_TO_QUIT = -99;

        String userin ;
        int num;

        System.out.println("Enter a file ending with .txt");
        Scanner scan = new Scanner(System.in);
        userin = scan.nextLine();

        // create file
        PrintWriter file = new PrintWriter(userin);

        for(int i=1; i<5; i++){
            System.out.println("enter first number "+i +" or -99 to quit");
            num = scan.nextInt();
            if(num == NUM_TO_QUIT){
                System.out.println("bye");
                System.exit(0);
            }
            file.println(num);

        }
        file.close();
        // read file and print smallest and biggest number
        Scanner read = new Scanner(file);
        while(read.hasNext()){

            // add the numbers to the array 
            int[] numlist = {num};
            // print the biggest and smallest number inside the numlist array.
        }
    }
}

2 个答案:

答案 0 :(得分:2)

一种方法是创建两个变量,其中一个跟踪当前最低的数字,另一个跟踪当前最高的数字。对于文件中的每个数字,比较它是否低于当前最低数字,如果是,则替换它,或者它是否高于当前最高数字(如果是,则替换它)。

你可以实际比较并查找用户输入时的最小和最大数字,而不是单独的循环,因为我认为它们是相同的数字。

答案 1 :(得分:1)

不要保留清单。使用两个变量来跟踪max&amp;分钟。

int min = Integer.MAX_VALUE;

int max = 0;

if(num < min) min = num;

if(num > max) max = num;

假设 num 是从上面循环中的文件中读取的整数。