有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从txt文件读取调查结果并输出每个调查答案频率的Java程序

我必须编写两个程序。第一个程序输出一个调查,用户必须输入一个介于1-5(1为低分,5为最高分)之间的评分,然后输入他们的姓名。然后,程序将用户键入的任何内容发送到一个名为responses的txt文件。txt

第二个程序(我遇到问题的程序)应该从文本文件中读取数据,然后输出一个表格,显示每个评级的输入频率。例如:

Rating Frequency
1      7
2      4
3      2
4      0
5      0

我设置它的方式是我有两个文件,一个java文件,它应该完成我上面提到的所有事情。第二个java文件只是通过调用前面提到的第一个java文件中的所有方法来测试程序。 我编译任何文件都没有问题,所以我在这方面做得很好

但是,当我尝试运行测试文件时,出现以下错误:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.utiol.Scanner.nextInt(Scanner.java:2076)
at ReadResonseFile.readRecords(ReadResponseFile.java:43)
at ReadResponseFileTest.main(ReadResponseFileTest.java:8)

据我所见,问题似乎出在readRecords方法上。我的问题是我能做些什么来解决这个问题,如果我在代码中遗漏了任何需要的内容,那是什么?任何帮助都将不胜感激

这是我到目前为止所拥有的

ReadResponseFile。爪哇

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadResponseFile {
  private Scanner input;
  int[] frequency= new int[5];
  public void openFile()
{
  try {
    input = new Scanner(new File("responses.txt"));
  }//end try
  catch (FileNotFoundException fileNotFoundException) {
    System.err.println("Error opening file.");
    System.exit(1);
  }//end catch

}//end method openFile

public void readRecords()
{
  SurveyResponseRecord record = new SurveyResponseRecord();

  System.out.printf("%-10s%-12s\n", "Rating", "Frequency");
  while (input.hasNext()) {
    record.setRating(input.nextInt());
    frequency[0] = 0;
    frequency[1] = 0;
    frequency[2] = 0;
    frequency[3] = 0;
    frequency[4] = 0;
    System.out.printf("%-10s\n", record.getRating());
  }//end while 
}//end method readRecords

public void closeFile()
{
  if (input != null)
    input.close();
}//end method closeFile


}//end class ReadResponseFile`

ReadResponseFileTest。爪哇

 public class ReadResponseFileTest
{
public static void main( String[] args)
{
    ReadResponseFile application = new ReadResponseFile();

    application.openFile();
    application.readRecords();
    application.closeFile();

}//end main
}//end class ReadResponseFileTest

共 (1) 个答案

  1. # 1 楼答案

    对于执行Java程序时的输入值,请使用GUI或使用系统。在扫描仪中

    如果您只想读取TXT文件,请使用BufferedReader并使用

    while((yourStringName=bufferedReader.readLine)!=null) {
    System.out.println(yourStringName);
    //What you wanna do
    }