我真正需要帮助处理我正在处理的问题。我正在尝试在.txt文件中找到最大和最小数字,该文件可以是读取文件所需的任何数字,然后打印出最大和最小数字。 readfile工作正常,唯一的问题是我只得到0回答答案。
我的代码:
import java.util.Scanner;
import java.io.*;
public class LargeSmall
{
public static void main(String[] args) throws IOException
{
//gets filename
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the name of the file: ");
String filename = keyboard.nextLine();
//opens file
File file = new File(filename);
Scanner inputFile = new Scanner(file);
//place holders for varibales
int val = 0;
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
//to read all lines of file
while (inputFile.hasNext())
{
//gets min and max number
int number = inputFile.nextInt();
if ( val > max)
{
max = val;
}
if ( val < min)
{
min = val;
}
}
//Close file
inputFile.close();
//Print out lowest value in the list and highest
System.out.println("Min number is: " +min);
System.out.println("Max number is: " +max);
}
}
不明白我做错了什么,非常感谢任何提示或帮助!
答案 0 :(得分:1)
您正在从文件中获取该号码,但之后您再也不会使用它了。
int number = inputFile.nextInt();
if ( number > max)
{
max = number ;
}
if ( number < min)
{
min = number ;
}
或者不是将val更改为数字,而是更改行:
int number = inputFile.nextInt();
到
val = inputFile.nextInt();
答案 1 :(得分:0)
val = inputFile.nextInt();
而不是
int number = inputFile.nextInt();
因为您读取了每一行并将其分配给名为number的新变量。但是你正在检查val变量。所以它给出了结果0。