Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印包含另一个类的字符串的数组?_Java_Arrays_Println - Fatal编程技术网

Java 如何打印包含另一个类的字符串的数组?

Java 如何打印包含另一个类的字符串的数组?,java,arrays,println,Java,Arrays,Println,如何使用println打印包含另一个类中的字符串的数组?我的意思的一个例子是: public class questions{ public void QuestionDatabase(){ String[] QuestionArray; QuestionArray = new String[2]; QuestionArray[0] = ("What is a dog?"); QuestionArray[1] = ("

如何使用println打印包含另一个类中的字符串的数组?我的意思的一个例子是:

public class questions{

    public void QuestionDatabase(){

        String[] QuestionArray;
        QuestionArray = new String[2];

        QuestionArray[0] = ("What is a dog?");
        QuestionArray[1] = ("How many types of dogs are there?");

    }

}
在另一节课上,我想从那里抓住一个问题,比如:

public class quiz{

    public static void main (String[] args){

       //Here is where I want to grab QuestionArray[0] and print to the screen.
        System.out.println("");

    }

}

QuestionDatabase()
返回
QuestionArray

然后像这样打印:

public class quiz{

public static void main (String[] args){

   //Here is where I want to grab QuestionArray[0] and print to the screen.
    System.out.println(new questions().QuestionDatabase()[0]);

 }

}

有几种方法可以做到这一点。也许最好的方法是在你的问题课上创建一个“getter”方法。此方法将简单地返回您创建的数组,如果将该方法公开,则可以从其他类访问它,而无需更改数组的值。例如:

public String[] getQuestionArray(){
    return QuestionArray;
}

在您的问题类中。

只需返回字符串[],而不是void et返回QuestionArray。或者将数组放在字段中并使用getter方法。顺便说一句,类名应该以大写字母开头,变量名应该以小写字母开头,这是一个标准。请注意,在您编写的代码中,
QuestionArray
是属于
QuestionDatabase
方法的局部变量。当您调用该方法时,它会设置数组,但当该方法完成时,数组将消失,以及您为设置它所做的所有工作。答案解释了如何解决这个问题。@Jarrod您已将此标记为错误问题的副本。这个问题是关于一个不应该是局部变量的局部变量。您链接到的问题是关于一个常见问题,程序员试图在数组上使用
toString()
,并获得类似
[I@3343c8b3
。投票重新打开。我发现这个解决方案非常有用。谢谢。它成功了。
public String[] getQuestionArray(){
    return QuestionArray;
}