0

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

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.
        }
    }
}
4

2 回答 2

2

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

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

于 2013-03-10T04:30:41.610 回答
1

不要保留清单。使用两个变量来跟踪最大值和最小值。

int min = Integer.MAX_VALUE;

int max = 0;

if(num < min) min = num;

if(num > max) max = num;

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

于 2013-03-10T04:33:15.360 回答