【发布时间】:2014-06-11 18:20:55
【问题描述】:
我需要找到余额的最小值、最大值和平均值。我在使用 for 循环之前已经这样做了,但从来没有使用过 while 循环。有没有办法在不干扰 while 循环的情况下直接从数组中提取最小值最大值和平均值?
10
Helene 1000
Jordan 755
Eve 2500
Ken 80
Andrew 999
David 1743
Amy 12
Sean 98
Patrick 7
Joy 14
其中 10 是帐户数
import java.util.*;
import java.io.*;
import java.util.Arrays;
public class bankaccountmain {
public static void main(String[] args) throws FileNotFoundException {
Scanner inFile = null;
try {
inFile = new Scanner(new File("account.txt"));
;
} catch (FileNotFoundException e) {
System.out.println("File not found!");
System.exit(0);
}
int count = 0;
int accounts = inFile.nextInt();
String[] names = new String[accounts];
int[] balance = new int[accounts];
while (inFile.hasNextInt()) {
inFile.next();
names[count] = inFile.next();
inFile.nextInt();
balance[count] = inFile.nextInt();
count++;
}
System.out.println(Arrays.toString(names));
System.out.println(Arrays.toString(balance));
}
}
【问题讨论】:
-
那你遇到了什么问题?
-
呃...使用 while 循环和 for 循环执行此操作的方式没有区别;您在循环外为 min、max、total 和 count 设置变量。你循环你的 inFile 东西来更新最小值、最大值、总数和计数。当你退出循环时,你有最小值,最大值,平均值是总数/计数。你有什么问题?
-
在 Java 8 中,使用集合和流 API,您可以在没有循环的情况下执行此操作,但我不确定您的确切问题是什么,我也不太了解您的代码做了,或者它应该做什么。
标签: java arrays max average min