这是我第一次发帖。我至少一周都在寻找我的问题的答案。我有一本学校的书,应该告诉我我所知道的一切。但对于这个具体问题,我找不到答案。我正在使用Dr.Java上学,每次我按照我的书籍说明打开和阅读文件时,都会收到一些错误信息。我已经通过这本书写了确切的方法,它仍然显示错误,我不确定问题是什么。我将发布我拥有的所有代码,我不需要所有这些代码的帮助,只有我可以弄清楚剩下的部分。任何帮助将不胜感激。
import java.io.*;
import java.util.Scanner;
public class Maximum
{
public static void main (String[]args) throws IOException
{
Scanner keyboard = new Scanner(System.in);
String filename;
System.out.println("Please enter the file name.");
filename = keyboard.nextLine();
int maximum = ReadAndFindMax(filename);
System.out.println("The maximum number in the file is: " + maximum );
}
public static int ReadAndFindMax(String filename) throws IOException
{
File file = new File(filename);
Scanner inputFile = new Scanner(file);
int number, max;
while (inputFile.hasNext())
{
number = inputFile.nextInt();
if (number > max)
number = max;
}
inputFile.close();
return max;
}
}
答案 0 :(得分:1)
您需要初始化int
值,即max
,因此在实际使用之前将值初始化为0
,因为如果inputFile.hasNext()
返回false
然后考虑ReadAndFindMax
方法return
应该有什么价值。
int number, max=0;
另外,我建议您严格遵循Java命名标准,以便在命名以大写字母开头的方法名称时可以轻松读取代码。