2014-07-23 4 views
0

println을 사용하여 다른 클래스에있는 문자열을 보유하고있는 배열을 인쇄하려면 어떻게해야합니까? 무슨 뜻인지의 예는 다음과 같습니다다른 클래스의 문자열을 포함하는 배열을 인쇄하는 방법은 무엇입니까?

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(""); 

    } 

} 
+0

그냥 String []을 반환하고 void 및 return QuestionArray를 반환합니다. 또는 필드에 배열을 넣고 getter 메서드를 사용합니다. 그런데 클래스 이름은 대문자로 시작해야하며 변수 이름은 소문자로 시작해야합니다. 이것이 표준입니다. – RadASM

+0

작성한 코드에서'QuestionArray'는'QuestionDatabase' 메소드에 속한 지역 변수입니다. 메서드를 호출하면 배열이 설정되지만 메서드가 완료되면 배열은 설정 한 모든 작업과 함께 사라집니다. 대답은이를 해결하는 방법을 설명합니다. – ajb

+1

@ Jarrod 이것을 잘못된 질문의 중복으로 표시했습니다. 이 질문은 지역 변수가 아니어야하는 지역 변수에 관한 것입니다. 연결된 질문은 프로그래머가 배열에서'toString()'을 사용하고'[I @ 3343c8b3'와 같은 쓰레기 출력을 얻으려고하는 일반적인 문제에 관한 것입니다. 다시 투표하려면 투표하십시오. – ajb

답변

2

돌아 가기 QuestionArrayQuestionDatabase()에서 :

public String[] QuestionDatabase(){ 

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

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

    return QuestionArray; 

} 

이 다른 클래스에서
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(new questions().QuestionDatabase()[0]); 

} 

} 
+0

이 솔루션은 매우 유용합니다. 감사. 그것은 효과가 있었다. –

0

몇 가지 방법이 있습니다. 아마도 가장 좋은 방법은 질문 클래스에 "getter"메서드를 만드는 것입니다. 이 메서드는 단순히 생성 한 배열을 반환하고 해당 메서드를 public으로 만들면 배열의 값을 변경하지 않고 다른 클래스에서 액세스 할 수 있습니다. 예 :

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

질문 클래스입니다.

관련 문제