无法在java中打印类对象值

无法在java中打印类对象值,java,object,Java,Object,记分板类中的显示函数无法打印对象游戏条目的值 值由add函数获取,并开始分配给对象数组 当值为0时,将显示错误 线程“main”java.lang.NullPointerException中出现异常 显示(Scoreboard.java:73) 73线-记分板类中的显示块 无法打印显示块中的值 import java.util.*; class Game_entry { String name; int score=0; Game_entry(String n,int s

记分板类中的显示函数无法打印对象游戏条目的值

值由add函数获取,并开始分配给对象数组

当值为0时,将显示错误

线程“main”java.lang.NullPointerException中出现异常

显示(Scoreboard.java:73)


73线-记分板类中的显示块

无法打印显示块中的值

import java.util.*;
class Game_entry
{
    String name;
    int score=0;
    Game_entry(String n,int s){
        name=n;
        score=s;
        System.out.println(name);
        System.out.println(s);
        
    }
    String getname()
    {
        return name;
    }
    int getscore()
    {
        return score;
    }
    void display()
    {
        System.out.println("name:"+name+" score:"+score);
    }
            
}

公开课记分板{
静态int num_条目;
游戏进入[]板;
记分牌(国际容量)
{
棋盘=新游戏输入[容量];
}
无效添加(游戏条目e)
{
int newscore=e.getscore();
if(num_entriesboard[num_entries-1].getscore())
{

如果(num_entries0&&board[j-1].getscore()这是因为您在询问用户想要做什么之前创建了一个
Scoreboard
的新实例。您的用户添加了一个新分数,然后您再次丢弃它


如果
num_entries
字段不是
static
static
意味着
Scoreboard
的所有实例之间只有一个共享的
num_entries
字段,这就不会有太大问题。因此,每次创建新数组时,您都会记住上一个数组中的元素数

请在
Scoreboard.java
文件中标识第73行。Scoreboard类其他部分中的显示块可能重复
public class Scoreboard {
    static  int num_entries;
    
    Game_entry[] board;
    Scoreboard(int capacity)
    {
        board=new Game_entry[capacity];
    }
    void add(Game_entry e)
    {
        int newscore=e.getscore();
        if(num_entries<board.length || newscore>board[num_entries-1].getscore())
        {
            if(num_entries<board.length){
                ++num_entries;
                System.out.println("hello");
                System.out.println(num_entries);
                
            }
            int j=num_entries-1;
            while(j>0 && board[j-1].getscore()<newscore)
            {
                System.out.println("hello");
                
                board[j]=board[j-1];
                j--;
            }
            
            board[j]=e;
            System.out.println(board[0].getname());
            System.out.println(board[0].getscore());
        }
        System.out.println(num_entries);
    }
    
    void display()
    {
        System.out.println(num_entries);  
        System.out.println("Total no. of enteries"+num_entries);
        if(num_entries==0)
        {
            System.out.println("no entries");
        }
        else
        {
            
            for(int i=0;i<num_entries;i++)
            System.out.println(board[i].getname());            
            System.out.println(board[i].getscore());
        }
    }
    
    public static void main(String[] args) {
        // TODO code application logic here
        int c;
        boolean a=true;
        Scanner sc=new Scanner(System.in);
        while(a==true)
        {
            System.out.println("\n\n\n MENU ");
            System.out.println("1.Insertion");
            System.out.println("2.Deletion");
            System.out.println("3.Display");
            System.out.println("4.Exit");
            System.out.println("Enter your choice");
            c=sc.nextInt();
            Scoreboard sco=new Scoreboard(100);
            
            switch(c)
            {
            case 1:
                String m;
                int n;
                System.out.println("Enter name");
                m=sc.next();
                System.out.println("enter score");
                n=sc.nextInt();
                Game_entry ge=new Game_entry(m,n);
                sco.add(ge);
                
                break;
            case 2:
                // int x;
                // System.out.println("enter the index from where element must b deleted");
                // x=sc.nextInt();
                // sco.remove(x);
                // break;
            case 3:
                sco.display();
                break;
            case 4:
                a=false;
                break;
            default:
                System.out.println("enter correct choice");
                
            }
        }
    }
    
}