无法从Array中获取实际值,它只是说“ NULL”

时间:2019-11-21 10:50:06

标签: java arrays null

当我尝试从数组VoteListVVD中获取值时,它说“ NULL”,但我认为其中应该有一些东西,而不是NULL。封装选择中的Line72出现了问题! (仅出于可概述性的考虑,我将其他各方排除在外)

怎么了?

package Elections;

import java.util.Arrays;
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;

public class Voting
{
    Scanner scanner = new Scanner(System.in);   

    public static void main(String[] args)
    {
        new Voting();
    }

    public Stemmen()
    {
        System.out.println("Casting 50 random votes (Y/N)?");
        System.out.println();

        String vote = scanner.nextLine();   

        switch (vote) 
        {
            case ("Y"):
            {
                int candidate=0;

                for (int i=1; i<=50; i++)
                {
                    int voteparty = ThreadLocalRandom.current().nextInt(0,3);

                    switch (voteparty)
                    {
                    case (0):
                        candidate = ThreadLocalRandom.current().nextInt(0,5);
                        ReSult.result[voteparty[candidat] = ReSult.result[voteparty]candidate]+1;

                    break;
                    case (1):   
                        candidate = ThreadLocalRandom.current().nextInt(0,4);
                        ReSult.result[voteparty[candidat] = ReSult.result[voteparty][candidate]+1;

                    break;
                    case (2):   
                        candidate = ThreadLocalRandom.current().nextInt(0,6);
                        ReSult.result[voteparty[candidat] = ReSult.result[voteparty][candidate]+1;
                    }
                }
            }                   
        }

        for (int j=0; j<6; j++)
        {
LINE72  System.out.format(VoteList.VoteListVVD[j][0]+"\n");  \\This results in NULL?????
        System.out.println(ReSult.result[2][j]+" ");         \\This works!!! (no question about this)
        }
    }   
}

package Elections;

public class Votelist
{
    static String[][] VoteListVVD  = new String [6][1];

    public VoteList()
    {
        VoteListVVD[0][0] = "Lubbers";
        VoteListVVD[1][0] = "Kok";
        VoteListVVD[2][0] = "Hans";
        VoteListVVD[3][0] = "Paula";
        VoteListVVD[4][0] = "Sientje";
        VoteListVVD[5][0] = "Martie";
    }
}

1 个答案:

答案 0 :(得分:1)

我认为问题在于您的Votelist级还没有Stemmen。在从中获取Votelist votelist = new Votelist();之前,请尝试进行VoteListVVD创建投票表。

package Elections;

import java.util.Arrays;
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;

public class Voting
{
    Scanner scanner = new Scanner(System.in);   

    public static void main(String[] args)
    {
        new Voting();
    }

    public Stemmen()
    {
        System.out.println("Casting 50 random votes (Y/N)?");
        System.out.println();

        String vote = scanner.nextLine();   
        Votelist votelist = new Votelist();

        switch (vote) 
        {
            case ("Y"):
            {
                int candidate=0;

                for (int i=1; i<=50; i++)
                {
                    int voteparty = ThreadLocalRandom.current().nextInt(0,3);

                    switch (voteparty)
                    {
                    case (0):
                        candidate = ThreadLocalRandom.current().nextInt(0,5);
                        ReSult.result[voteparty[candidat] = ReSult.result[voteparty]candidate]+1;

                    break;
                    case (1):   
                        candidate = ThreadLocalRandom.current().nextInt(0,4);
                        ReSult.result[voteparty[candidat] = ReSult.result[voteparty][candidate]+1;

                    break;
                    case (2):   
                        candidate = ThreadLocalRandom.current().nextInt(0,6);
                        ReSult.result[voteparty[candidat] = ReSult.result[voteparty][candidate]+1;
                    }
                }
            }                   
        }

        for (int j=0; j<6; j++)
        {
        System.out.format(votelist.VoteListVVD[j][0]+"\n");  
        System.out.println(ReSult.result[2][j]+" "); 
        }
    }   
}