我需要打印此文件中的最大和最小数字...我尝试了所有内容,但似乎无法使其正常工作。我是初学者,请帮忙
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.
}
}
}
答案 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 是从上面循环中的文件中读取的整数。