2013-08-03 2 views
-2

아무도 내가 런타임에 스택에서 그림을 그릴 수 있습니다 여기에 다음 코드에 대한? 나는 이것을 시도했지만 그것이 틀렸다는 말을 들었고, 교수는 이것을 설명하기를 거부했다. 누군가가 내게 모범을 줄 수 있다면, 다른 코드를 비교할 때 그것을 사용하는 것이 쉽다. 특히 스택을 올바르게 포맷하지 않는다고 생각합니다.자바, 런타임 스택을 그리기

내 시도 :

array a initialized with 3 values 
integer x = 4; 
call method b, passes in array a. 
integer i = 14; 
array x[0] = 4; 
call method e, passes in i - 2 = 12; 
calls method f 12 - 4 = 8; 
int j = 2; 
8 * 2 = 16; 
println "16"; 
println "4 + 0" 

public class RuntimeStack 
{ 
    public static void main (String [] args) 
    { 
    int[] a = new int[3]; 
    int x = 4; 
    b(a); 
    System.out.println(a[0] + “ “ + a[1] + “ “ + x); 
} 
public static void e(int a) 
{ 
f(a-4); 
// HERE! } 
    public static void b(int [] x) 
    { 
    int i = 14; 
    x[0] = 4; 
    e(i-2); 
} 
    public static void f(int i) 
    { 
int j = 2; 
    System.out.println("i * j = " + (i * j)); 
    } 
} // end class RuntimeStack 

대단히 감사합니다!

+0

노력을 보여주십시오. – rocketboy

+0

예 업데이트 됨. 나는 특히 런타임 스택을 "올바르게 포맷 (format)"하는 것에 대해 혼란 스럽다. – andrsnn

+0

일반적인 사람들, 나는 그것이 간단한 질문 (따라서 downvotes) 이해하지만 누군가가 친절하게 올바른 방향으로 나를 도울 수 있다면, 나는 자바와 프로그래밍을 더 잘 이해하는쪽으로 한 발 더 나아갈 것입니다 .... – andrsnn

답변

1

내 생각 엔 그가 그들이 스택에 배치되었을 순서로 스택의 값으로 그린 ​​그림을 원하는 것 (및 제거). 두 번째 메소드를 호출 할 때마다 매개 변수를 전달하는 메소드를 호출 할 때마다 parms리스트와 호출에 대한 리턴 정보를 원할 수 있습니다. 그러면 원하는 정보를 가장 잘 추측 할 수 있습니다.

0

중단 한 부분에서 계속 :

call method e, passes in 12 
call method f, passes in 8 
integer j = 2 
print "i * j = " + 16 
print 4 + " " + 0 + " " + 4 
+0

예 업데이트했습니다. 나는 내 대답으로 그 종이 옆에 집에 없었기 때문에 나는 단지 그것을 다시 밟았다. 나는이 질문을 나의 교수가 형식을 추측하고있을 때마다 물었다. 스택에 올바른 형식의 형식이 있다고 가정했다. – andrsnn