Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在查找下面提到的导致程序无法运行的错误时遇到问题_Java - Fatal编程技术网

Java 在查找下面提到的导致程序无法运行的错误时遇到问题

Java 在查找下面提到的导致程序无法运行的错误时遇到问题,java,Java,我在运行程序时遇到了一些问题。无论何时,我尝试得到java.util.InputMismatchException。 在搜索之后,我注意到它是在我试图获取数据时出现的,但下一个数据不是那种格式(用初学者的话来说)。 我已多次尝试查找导致错误的原因,但似乎找不到:/ 对于那些认为这是草率的人来说,因为没有使用数组。我不允许在这个特殊任务中使用它们 import java.util.Scanner; import java.io.*; public class Huang_Grading {

我在运行程序时遇到了一些问题。无论何时,我尝试得到java.util.InputMismatchException。 在搜索之后,我注意到它是在我试图获取数据时出现的,但下一个数据不是那种格式(用初学者的话来说)。 我已多次尝试查找导致错误的原因,但似乎找不到:/

对于那些认为这是草率的人来说,因为没有使用数组。我不允许在这个特殊任务中使用它们

import java.util.Scanner;
import java.io.*;

public class Huang_Grading
{
    //Global variables
    private static int holdMinStudentID;
    private static int holdMinEnhStudentID;
    private static int holdMaxStudentID;
    private static int holdMaxEnhStudentID;
    private static int holdModeStudentID;
    private static int holdModeEnhStudentID;

    /**Main method to pull data from*/
    public static void main(String[] args) throws IOException
    {
        //Set up input file
        File inputFile = new File("gradeInput.txt");

        validateFile(inputFile);
        validateData(inputFile);
        printData();
    }

    /**Read in file location, give error message if file does not exist
       Also, save valid numbers to an output file*/

    /**Compute and return mean of all grades*/
    public static double mean(Boolean gradeType) throws IOException
    {
        Scanner fileInput = new Scanner("outputs.txt");

        //Declare variables
        double finalMean = 000.00;
        double earnedGrade;
        int enhancedGrade;
        double totalEnhancedGrade = 0;
        double totalEarnedGrade = 0;
        int studentID;
        int lines = 0;

        //Mean grade
        while(fileInput.hasNext())
        {
            studentID = fileInput.nextInt();
            enhancedGrade = fileInput.nextInt(); 
            earnedGrade = fileInput.nextDouble();

            if(gradeType == false)
            {
                totalEarnedGrade = totalEarnedGrade + earnedGrade;
            }
            if(gradeType == true)
            {
                totalEarnedGrade = totalEarnedGrade + earnedGrade;
                totalEnhancedGrade = totalEnhancedGrade + enhancedGrade;
            }
            lines++;
            if(gradeType == false)
            {
                finalMean = totalEarnedGrade/lines;
            }
            if(gradeType == true)
            {
                finalMean = (totalEnhancedGrade + totalEarnedGrade)/lines;
            }
        }
        fileInput.close();
        return finalMean;
    }

    /**Compute and return minimum/maximum of all grades*/

    /**Print out results*/
    public static void printData() throws IOException
    {
        //Declare variables
        Boolean earned = false;
        Boolean enhanced = true;

        double meanEarnedGrade = mean(earned);
        double meanEnhancedGrade = mean(enhanced);

        System.out.printf("%25s%7.2f", "Mean Earned Grade:\n", meanEarnedGrade);
        System.out.printf("%25s%7.2f", "Mean Enhanced Grade:\n", meanEnhancedGrade);
    }
}

答案是

改变

Scanner fileInput = new Scanner("outputs.txt");


@恐怖战警:这意味着它会跳过一部分吗?我在班上还没有学过接球。@ScaryWombat是你要求我在主帖子中更新的内容吗?@ScaryWombat我更新了主帖子~几乎是一行行数字。我的第一个是00000-99999的整数,第二个是0-5的整数,最后一个是双精度000.00-100。00@ScaryWombat嗯..我最后遇到了另一个错误,那就是NoTouchElementException:找不到行。所以我假设dat不是错误?@ScaryWombat仍然是同一行。我尝试了各种更改,但它一直有问题。
Scanner fileInput = new Scanner(new File ("outputs.txt"));