Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
我能';t让我的程序进行测试:“;java.lang.NullPointerException“;_Java_Arrays_Nullpointerexception_Bufferedreader - Fatal编程技术网

我能';t让我的程序进行测试:“;java.lang.NullPointerException“;

我能';t让我的程序进行测试:“;java.lang.NullPointerException“;,java,arrays,nullpointerexception,bufferedreader,Java,Arrays,Nullpointerexception,Bufferedreader,当我尝试运行该程序时,计算机会返回以下结果: 名姓Test1 Test2 Test3 Test4 Test5平均成绩 线程“main”java.lang.NullPointerException中的异常位于 tests.tests.main(tests.java:132)C:\Users\Michael Jr\AppData\Local\NetBeans\Cache\8.1\executor snippets\run.xml:53:Java 返回:1生成失败(总时间:0秒) 包测试; 导入jav

当我尝试运行该程序时,计算机会返回以下结果:

名姓Test1 Test2 Test3 Test4 Test5平均成绩

线程“main”java.lang.NullPointerException中的异常位于 tests.tests.main(tests.java:132)C:\Users\Michael Jr\AppData\Local\NetBeans\Cache\8.1\executor snippets\run.xml:53:Java 返回:1生成失败(总时间:0秒)

包测试;
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.IOException;
导入java.text.DecimalFormat;
导入java.util.ArrayList;
导入java.util.List;
/**
*
*@作者迈克尔
*/
公开课考试{
私有字符串fname;
私有字符串名称;
私人int[]分数;
公共测试(字符串条目)
{
String[]data=entry.split(“”);
分数=新整数[数据长度-2];
此.setFname(数据[0]);
此.setLname(数据[1]);

对于(int i=2;i您应该检查读取函数的结果:

public static void main(String[] a)
    {
        ArrayList<Tests> ar=read("E:/score.txt");
        if (ar != null){  
            System.out.println("First_Name\tLast_Name\tTest1\t\tTest2\t\tTest3\t\tTest4 \t\tTest5\t\tAverage\t\tGrade");
            for(Tests e:ar)
            {
                System.out.println(e);
            }
        } else {
            System.out.println("Could not read file");
        }
    }
publicstaticvoidmain(字符串[]a)
{
ArrayList ar=read(“E:/score.txt”);
如果(ar!=null){
System.out.println(“First\u Name\tLast\u Name\tTest1\t\tTest2\t\tTest3\t\tTest4\t\tTest5\t\t平均值\t\t等级”);
用于(试验e:ar)
{
系统输出打印ln(e);
}
}否则{
System.out.println(“无法读取文件”);
}
}

是否验证
try
语句?读取函数返回“Null”值。我认为这个问题是在读取文件时出现的

String sCurrentLine;
        ArrayList<Tests> ar=new ArrayList<Tests>();
        br = new BufferedReader(new FileReader("C:\\Users\\Michael Jr\\Desktop\\ch9_Ex13Data.txt"));

        while ((sCurrentLine = br.readLine()) != null) 
        {
            ar.add(new Tests(sCurrentLine));
        }
        return ar;
stringscurrentline;
ArrayList ar=新的ArrayList();
br=新的BufferedReader(新的文件阅读器(“C:\\Users\\Michael Jr\\Desktop\\ch9\u Ex13Data.txt”);
而((sCurrentLine=br.readLine())!=null)
{
ar.add(新测试(sCurrentLine));
}
返回ar;

如果您能够共享该文件,我将正确验证此代码!

错误在第132行。那里的代码是什么?您确实让程序进行了编译。否则,您永远不会出现运行时异常,错误发生在运行时。或者使read方法始终返回列表而不是null。这修复了null问题,但文件可以“现在不能读取吗?我的位置正好。您将“E:/score.txt”的值作为路径传递,然后从硬编码路径“C:\\Users\\Michael Jr\\Desktop\\ch9\u Ex13Data.txt”读取”-您要读取哪个文件?可能是权限问题?程序试图读取的文件内容如下。Jack Johnson 85 83 77 91 76 Lisa Aniston 80 90 95 93 48 Andy Cooper 78 81 11 90 73 Ravi Gupta 92 83 30 69 87 Bonny Blair 23 45 96 38 59 Danny Clark 60 85 45 39 67 Samantha Kennedy 77 31 52 74 83 Robin Bronson 93 9489 77 97 Sheila Sunny 79 85 28 93 82 Kiran Smith 85 72 49 75 63@Evinton当您使用decimalformat时,首先,请验证笔记本电脑或台式计算机中的计算机号码格式。错误在这里
decimalformat(“##.##.##”)格式((双)总和/(双)a.length)
更改为“,
decimalformat(###,###,#格式((double)sum/(double)a.length);
@mikeg4523在修复了十进制格式(“##,##,##”)之后,格式((double)sum/(double)a.length)仍然给了我同样的输出。我想问题是read函数,现在我一直在玩它,代码一直工作到那一点。我只是不明白为什么。
String sCurrentLine;
        ArrayList<Tests> ar=new ArrayList<Tests>();
        br = new BufferedReader(new FileReader("C:\\Users\\Michael Jr\\Desktop\\ch9_Ex13Data.txt"));

        while ((sCurrentLine = br.readLine()) != null) 
        {
            ar.add(new Tests(sCurrentLine));
        }
        return ar;