从不同的类调用数组 - Java

时间:2016-01-07 23:17:02

标签: java arrays

如何从其他类访问我的数组?我有3个班级; Main(我想从中访问数组)FramePanel(我的GUI和取自UserInputNum的值)和StoryArray(保存我的数组)。

我需要在Main类的嵌套If循环中访问数组,这是因为我想将特定的数组数据保存到字符串中并最终将其附加到JTextArea中。

以下是所需的两个类:

Main.java

public class Main
{
    public static String UserInput;
    public static int UserInputNum;

    public static void main(String[] args)
    {
        FramePanel.main();
        StoryArray.main();

        UserInputNum = Integer.parseInt(UserInput);
        if (UserInputNum >= 0)
        {
            if (UserInputNum <= 399)
            {
                StoryArray.storyLine[UserInputNum];
            }
            else
            {

            }
        }
        else
        {

        }
    }
}

StoryArray.java

public class StoryArray
{
    public static String storyLine[] = null ;
    public String[] getStoryLine()
    {
        return storyLine;
    }
    public static void main()
    {
        //String[] storyLine;
        storyLine = new String[399];
        storyLine[0] ("1")
        storyLine[1] ("2")
        storyLine[2] ("3")
        storyLine[3] ("4")
        storyLine[4] ("5")
        storyLine[5] ("6")

3 个答案:

答案 0 :(得分:2)

在另一个类中,您可以像这样调用数组:

 String value = StoryArray.storyLine[index];

答案 1 :(得分:1)

由于它是静态公共字段,因此您可以StoryArray.storyLine直接访问它。但是,当你有一个getter方法时,我建议将这个getter setter设置为static并将数组字段设为private,并通过getter方法访问它:StoryArray.getStoryLine()(看看为什么要阅读封装)。

你也不应该从小写开始你的类(主)名称,这里是java语言的标准编码约定:http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

答案 2 :(得分:1)

一旦您调用StoryArray.main(),您就应该能够StoryArray.storyLine[/*element id*/] = "whatever you want"获取或设置storyLine中的任何元素。此外,您不能定义任何默认数组值。在StoryArray.main()中,您需要具有storyLine[n] = "n"形式的行。