有 Java 编程相关的问题?

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

控制台中的java输出为空

它显示空异常。现在该怎么办

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

public class Quiz1 {

    public static void main(String[] args) {
        File f = new File("QuizMark.txt");
        try{
            Scanner s = new Scanner (f);
            QuizMark[] p = new QuizMark[10];
            while(s.hasNext()==true)

            {
                int c = s.nextInt();
                double d = s.nextInt();             
                for(int i=0;i<10;i++){
                p[i]= new QuizMark(c,d);
                System.out.println(p[i].getId());
                System.out.println(p[i].getScore());
                i++;
                }
            }
        }
                catch(Exception e){
                    System.out.println(e.getMessage()); 
                    }
    }

}

共 (1) 个答案

  1. # 1 楼答案

    首先,您的文件必须定义保存在其中的数据模式,如用逗号或连字符分隔的标记和id、下划线等,无论您想保存什么模式。下一个数据应该在下一行。然后以正确的方式阅读保存在文件中的文本

    示例QuizMarks。文本

    01,96.5
    02,78.9
    03,65
    04,89.7
    

    Java代码

     int count = 0;
     String s[];
     String line="";
     QuizMark[] p = new QuizMark[10];
    
     BufferedReader br= new BufferedReader(new FileReader("QuizMark.txt"));
    
     while(line=br.readLine()!=null){
    
     s=line.split(",");//your data separated by symbol in file 
    
     //First Record with id and marks 
    
     int id =Interger.parseInt(s[0]); //conversion from string to int
     double marks = Double.parseDouble(s[1]); //conversion from string to double
    
     p[count]= new QuizMark(id,marks);
     count++;
    
    
     }