簡體   English   中英

從Java中的文本文件打印字符串數組時,出現空指針異常錯誤

[英]Null Pointer Exception Error When Printing Array of Strings from a Text File in Java

解決了

數組中文本文件的第一行是學生人數。 我需要掃描該數字,使我的數組成為數字的大小,然后從文本文件中打印出學生的每一行及其對應的信息。

我已經對該邏輯進行了數次審查,但似乎找不到它可能有什么問題。 我可以編譯該方法,但是當我運行它時,我會得到一個空指針異常,這意味着在將數組分配給學生信息時我必須做錯了什么。

我現在的代碼是:

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

public class Main {
    public static void main(String[] args) throws IOException {

        Chart();
    }

    public static void Chart() throws IOException {
        int n;
        Scanner fileScan;
        fileScan = new Scanner(new File("scores.txt"));
        n = fileScan.nextInt();
        String[] students = new String[n];
        for (int i = 0; i > n; i++) {
            students[i] = fileScan.nextLine();
        }
        Arrays.sort(students);
        for (int i = 1; i > n; i++) {
            System.out.println(students[i]);
        }
    }
}

我是否正在正確地將文本文件中的行讀入數組? 如果是這樣,導致錯誤的原因是什么?

for(int i = 0; i > n; i++) {
     students[i] = fileScan.nextLine();
}

此循環未將值插入數組。

一定是,

for(int i = 0; i < n; i++) {
     students[i] = fileScan.nextLine();
}

沒有堆棧跟蹤(這將指向哪一行具有空引用),很難確定-但是兩個循環條件都不正確:

for(int i = 0; i> n; i ++)

您的循環塊永遠不會與該檢查一起運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM