2012-11-19 3 views
0

메소드 용으로 Java에 클래스가 있습니다. 기본적으로이 클래스는 정수 숫자의 배열을 받고 숫자를 더하여 &을 빼고 합계와 뺄셈을 반환합니다. 나는 변수를 선언했다 (특정 방법이 아님). 뺄셈과 더하기가 끝나면 (자동적으로, 물론) 각각의 변수에 할당됩니다. 그러나 메소드가 작업을 끝내면 값이 삭제되므로 빼기/더하기 메소드를 호출 할 때 결과가 삭제됩니다. 0방법 변수 범위 (java)

필자가 알고있는 한 값은 메소드 내부에서 초기화되지 않았지만 모든 메소드 외부에서 초기화 되었기 때문에 값이 비어서는 안되므로 범위가 끝나서는 안됩니다. 도움이 필요하십니까? 방법

package chap3; 

    import javax.swing.JOptionPane; 

    /** 
    * 
    * @author jtech 
    */ 
    public class SimpleArithmeticMethods 
    { 
    int sum; 
    int subtraction; 

public void sum_Difference(int[] nums) 
{   
    int[] inpNums = nums; 

    sum = inpNums[0] + inpNums[1]; 
    subtraction = inpNums[1] - inpNums[0]; 

} 

public void getSum() 
{ 
    JOptionPane.showMessageDialog(null,"The sum is: "+sum, "Result.", JOptionPane.INFORMATION_MESSAGE); 
} 

public void getDifference() 
{ 
    JOptionPane.showMessageDialog(null,"The difference is: "+subtraction, "Result.", JOptionPane.INFORMATION_MESSAGE); 
} 

}  

I 당신은 하나의 객체에 sum_Difference() 메소드를 호출하고

package chap3; 

import javax.swing.JOptionPane; 

/** 
    * 
* @author jtech 
*/ 
public class SimpleArithmetic 
{ 

    public static void main(String[] args) 
    { 
    String[] strInptNums = new String[2]; 
    int[] inptNums = new int[2];   

    SimpleArithmeticMethods obtainSum = new SimpleArithmeticMethods(); 
    SimpleArithmeticMethods obtainDifference = new SimpleArithmeticMethods(); 
    SimpleArithmeticMethods workSum_Difference = new SimpleArithmeticMethods(); 

    for (int counter = 0; counter <= 1; counter++) 
    { 
     strInptNums[counter] = JOptionPane.showInputDialog(null, "Input a number, smallest first", "Input Data.", JOptionPane.QUESTION_MESSAGE); 
     inptNums[counter] = Integer.parseInt(strInptNums[counter]); 
    }   

    workSum_Difference.sum_Difference(inptNums); 
    obtainSum.getDifference(); 
    obtainDifference.getDifference(); 
    } 
} 
+3

관련 코드를 게시하십시오. – kosa

+2

우체국 –

+0

를 게시하십시오. 우편 번호가 도움이 될 것입니다. 클래스의 생성자에서 어떤 일이 발생하는지 궁금합니다. – jahroy

답변

1

을 실행하고 다른 개체를 사용하여 결과를 표시되는 클래스의

// 클래스.

병에 메시지를 저장 한 다음 메시지가 다른 병에 있는지 확인하는 것과 같습니다. 같은 개체를 사용하여 세 가지 방법 모두를 호출하십시오.

+0

고마워, 나는 그렇게하지 말아야한다고 생각했다. 그것은 지금 일했다 :) –