【发布时间】:2017-03-31 16:03:34
【问题描述】:
我试图获取用户输入的某个文本文件中的最大数量。我也把它放在单独的方法中。这是我到目前为止所拥有的:
public static void FindMax(String file)throws IOException{
int maximum = 0;
Scanner fileScanner = new Scanner(new File(file)); {
int big = fileScanner.nextInt();
while (fileScanner.hasNextInt()) {
int num = fileScanner.nextInt();
if(num > big) {
maximum++;
System.out.println(num);;
}
}
}
}
public static void main(String[] args)throws IOException{
Scanner keyboard = new Scanner(System.in);
String file;
System.out.print("Enter file: ");
file = keyboard.nextLine();
FindMax(file);
}
输出打印文本文件中除第一个值之外的所有内容,而不是打印最大值。例如,如果文本文件是:
1
2
3
4
5
它只打印 2、3、4 和 5,我不知道为什么。我怎样才能得到最大值?我很感激任何帮助/建议。提前致谢。
编辑:你们所有人都在说类似的解决方案,但是当我尝试它们时,它只会打印相同的输出。我很困惑。
【问题讨论】:
-
您的代码中存在一些逻辑错误。你想要做的是从文本和文件中读取一个数字,并比较它是否大于之前的最大数字。如果是,则更新最大值,否则检查下一个数字。阅读整个文件后,您应该打印 max 变量的值
标签: java