2014-02-27 3 views

답변

1

당신이 얻는 것은 Object 클래스의 기본 toString() 출력입니다. 의미있는 것을 인쇄하려면 ArrayStack 클래스에서 toString() 메서드를 재정의해야합니다.

public String toString() 
{ 
    // iterate through your array and generate a String consisting of all elements 

    // alternatively you can take advantage of the fact that Arraylist has already 
    // overriden toString() method to print all elements 

    return st.toString(); 
} 
+0

좋습니다! 이제 왜 내가 넣을 수 없는지 알게 되겠습니까? st.size()? – Sophie

+0

코드의 어느 라인을 참조하고 있습니까? – Kakarot

+0

Main 클래스에서 try 블록 내에서 : System.out.println (st); 나는 또한 System.out.println (st.size()); 내가 할 때, 그것은 "ArrayStack 유형에 대해 메소드 크기()가 정의되지 않았습니다."라고 알려줍니다. – Sophie

0

Object 클래스의 toString 메서드는 객체가 인스턴스 인 클래스의 이름, at 기호 문자 '@'및 객체의 해시 코드의 부호없는 16 진수 표현으로 구성된 문자열을 반환합니다. 즉,이 메소드는 다음의 값과 동일한 문자열을 반환

getClass().getName() + '@' + Integer.toHexString(hashCode()) 

난 당신이 원하는 생각대로

1

당신은에있는 toString를 오버라이드 (override) 할 필요가있는 ArrayList를 반복해야합니다, 인쇄하려면 당신의 ArrayStack 클래스. 요소를 반복하고 사람이 읽을 수있는 형식으로 연결합니다.

관련 문제