Java 如何打印包含另一个类的字符串的数组?
如何使用println打印包含另一个类中的字符串的数组?我的意思的一个例子是: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] = ("
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;
}