Java 从文件中添加数字和计算单词

Java 从文件中添加数字和计算单词,java,readfile,Java,Readfile,我必须将文件中的数字相加,求其平均值,然后计算字数。到目前为止,我有这个,但我得到了一个错误,我得到了这个。我试图让它区分单词和字母,但在它运行第一段时间后,我出现了一个错误 import javax.swing.JOptionPane; import java.util.Scanner; import java.io.*; public class ReadTextFile { public static void main (String[] args) throws IOExcepti

我必须将文件中的数字相加,求其平均值,然后计算字数。到目前为止,我有这个,但我得到了一个错误,我得到了这个。我试图让它区分单词和字母,但在它运行第一段时间后,我出现了一个错误

import javax.swing.JOptionPane;
import java.util.Scanner;
import java.io.*;
  public class ReadTextFile
{
public static void main (String[] args) throws IOException
{
   String word, line, message, message2;
  int number=0 , numword=0, numnum, numnum2, numnum3, av;
  FileInputStream fis = new  
FileInputStream("C:\\Users\\Douglas\\Desktop\\payroll.txt");
  Scanner in = new Scanner (fis);  

  while (in.hasNext())
  {
     numword++;

     word = in.next();

     message2 = "The word is: "+word+"\n";

     JOptionPane.showMessageDialog (null, message2);
  }  
  in.close();

  while(in.hasNextInt())
  {  
     numnum = in.nextInt();

     number++; 

     message = "The  number is: "+numnum+"\n";

     numnum2=numnum;

     numnum3= numnum+numnum2;

     JOptionPane.showMessageDialog (null, message);

     av=numnum3/number;
  }
  in.close();

  message = "The number of words processed was "+numword;

  JOptionPane.showMessageDialog (null, message);

  message2 = "The number of numbers processed was "+number+"and the average 
  was "+av;

} 
} 

在第一次循环后关闭扫描仪。然后在第二个循环中再次使用它。完成所有扫描后,卸下第一个“关闭”和“关闭”扫描仪

in.close();

我使代码更具可读性,并尝试使用它

import javax.swing.JOptionPane;
import java.util.Scanner;
import java.io.*;

public class ReadTextFile {
public static void main(String[] args) throws IOException {
    String message, message2;
    int number = 0, numnum =0, sum=0;
    double av = 0.0;
    FileInputStream fis = new FileInputStream("C:\\temp\\file.txt");
    Scanner in = new Scanner(fis);

    while (in.hasNext()) {
        number++;
        numnum = in.nextInt();
        message = "The  number is: " + numnum + "\n";
        JOptionPane.showMessageDialog(null, message);

        sum += numnum;
        av = sum / number;
    }

    message = "The number of words processed was " + number + " total is " +sum;

    JOptionPane.showMessageDialog(null, message);

    message2 = "The number of numbers processed was " + number
            + " and the average was " + av;
    JOptionPane.showMessageDialog(null, message2);

 }
}

请告诉我错误!