简体   繁体   中英

can't get the real value out of Array, it just says “NULL”

When I try to get the values out of an Array VoteListVVD , it says "NULL" but I think there should be something in it, instead of NULL. Line72 in Package Election gives the problem! (just for the sake over overviewability I left other parties out)

What's wrong?

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";
    }
}

I think the problem is that there is no Votelist in your Stemmen -Class yet. Try doing Votelist votelist = new Votelist(); to create a Votelist before you get the VoteListVVD from it.

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]+" "); 
        }
    }   
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM