Java 文件的外部读取

Java 文件的外部读取,java,file,external,Java,File,External,我目前正在做一项任务,我很难决定下一步该做什么。我不是要你帮我做这件事,我只是需要你帮助我下一步该做什么。我在“number=infle.nextInt();”行上得到一个错误,它说java.util.InputMismatchException:null(在java.util.Scanner中) 描述:您要读取随机整数值的外部文件,直到找到文件结尾。读取文件时,应确定有多少数字小于值500,有多少数字大于或等于500 我需要的输出是: 少于500的数字是192 大于或等于500的数字为208

我目前正在做一项任务,我很难决定下一步该做什么。我不是要你帮我做这件事,我只是需要你帮助我下一步该做什么。我在“number=infle.nextInt();”行上得到一个错误,它说java.util.InputMismatchException:null(在java.util.Scanner中)

描述:您要读取随机整数值的外部文件,直到找到文件结尾。读取文件时,应确定有多少数字小于值500,有多少数字大于或等于500

我需要的输出是: 少于500的数字是192 大于或等于500的数字为208 总数是400

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


public class Prog209a
{
public static void main (String args[])
{  

Scanner inFile = new Scanner( "C:\\Users\\Air\\Documents\\java\\p209a.dat");


    int number; //number
    int Lesser = 0; //count of numbers less than 500
    int Greater = 0;//count of numbers greater than 500 or equal to 500
    int Count = 0;


    while(inFile.hasNext()== true)
    {
     //input
        number = inFile.nextInt();
     //decision making
        if (number < 500)
            Lesser++;
        else
            Greater++;     
        Count ++;    
    }
import java.io.*;
导入java.util.*;
公共类Prog209a
{
公共静态void main(字符串参数[])
{  
Scanner infle=新扫描仪(“C:\\Users\\Air\\Documents\\java\\p209a.dat”);
int number;//number
int Lesser=0;//小于500的数字计数
int大于等于0;//大于500或等于500的数字计数
整数计数=0;
while(infle.hasNext()==true)
{
//输入
编号=infle.nextInt();
//决策
如果(数量<500)
Lesser++;
其他的
更大的++;
计数++;
}
}
}

您的程序运行良好;您只是从未向用户提供所需的输出

在代码末尾添加以下内容

System.out.println(“小于500的数字为“+较小+”。大于或等于500的数字为“+较大+”。数字总数为400)


假设程序读取的
192
数字小于500且
208
数字大于500,则将达到所需的输出。

您的意思是打印结果吗?
System.out.println(“小于500的数字的计数:“+更小”)

那么你的确切问题是什么呢?你已经描述了你的作业。请问一些具体的问题。那么,问题是什么呢?我意识到这可能是重复的,但我看不到适合我使用的答案。每当我编译时,然后尝试执行我收到的程序“java.util.InputMismatchException:null(在java.util.Scanner中)“对于行”number=infle.nextInt();“我意识到这可能是重复的,但我没有看到我想要的答案。每当我编译并尝试执行程序时,我会收到“number=infle.nextInt();”行中的“java.util.InputMismatchException:null(在java.util.Scanner中):“java基本上是告诉您它正在读取的数据类型不是
int
您确定文件中的所有数字都是
int
s吗?如果有任何字母或小数点会把事情搞砸的话。如果存在任何双精度,请替换
infle.nextInt()使用
infle.nextDouble()它们实际上都是int。