2016-12-22 1 views
-1

저는 배우고 있으며 간단한 기능을 만들려고합니다. 변수 p1은 임의의 숫자를 생성하는 것으로 가정되는 반면, 숫자는 매번 변수 s1에 추가되어야합니다. Java에서 변수를 저장하는 방법은 무엇입니까?

class snake{ 
    double p1,position1; 
    void testing(){ 
     p1=Math.random(); 
     p1= p1*100; 
     System.out.println(p1); 
    } 
} 
class helper extends snake{ 
    double s1; 
    helper(){ 
     s1=0; 
    } 
    void make_changes(){ 
     s1=s1+p1; 
     System.out.println(s1); 
    } 
} 

나는

helper h1 = new helper(); 
h1.testing(); 
h1.make_changes(); 

하여 방법이라고하지만이 코드를 실행하면, 값 대신 s1p1와 같은 값을 가지고 추가하지 않습니다.

+0

** ** **에 항목을 추가하면 결과는 추가 한 숫자와 같습니다. –

+1

'0'을 추가하고있는 것이므로 실제로는 추가하고 s1은 p1과 같아야합니다. –

+4

두 번째로 make_changes()를 어떻게 호출 했습니까? – Mukit09

답변

0

당신은 (S1)가 제로로 초기화 :

helper(){ 
    s1=0; 
    } 

그래서 S1 될 것입니다 P1 플러스 제로, P1에 동일시한다.

+0

코드에 이미 나와 있습니다. –

1

코드는 정상적으로 작동합니다. helper을 초기화 할 때 s10입니다. make_changes로 전화 할 때마다 p1이 추가됩니다. 여기에서 미리보기에서 공유 한 첫 번째 전화는 s10+p1과 같으며 단지 p1입니다.

+0

예, 두 번째 호출 할 때 이전 값에 올바르게 추가해야합니까? 예를 들어, 메서드를 처음 호출 할 때, 0 + 50을 입력합니다. 메서드를 호출 할 때 두 번째로 50을 추가해야합니다. 즉, 발생하지 않습니다. –

+1

동일한 ** 객체에서'make_changes' **를 두 번 호출하면 확실히 합쳐집니다. 새 오브젝트 또는 이와 유사한 것을 작성하는 경우이 정보를 사용자의 질문으로 편집하십시오. – Mureinik

관련 문제