2014-11-19 5 views
0

저는 자바로 코드를 작성하려고 노력해 왔으며 많은 곳에서 똑같은 코드를 작성했습니다. 나는 그 라인을 어디서나 메서드로 대체하려고합니다. 그게 가능하니? 예Java에서 매개 변수없이 메소드를 작성하려면 어떻게해야합니까?

public fill() 
{  x=x+1; 
     if(x == sizeX){ 
      y=y-1; 
      x=0; 
     } 
} 

이들 변수 X, Y의 크기

메소드 외부에서 정의된다. 나는 또한 공공 무효, 무효와 내가 찾을 수있는 다른 많은 조합을 시도했다. Java에서 무엇을하려고합니까? §8.4.5 JLS에서

+2

'공공 무효 채우기는()'작동합니다. –

+0

네, 할 수있는 일이 가능합니다. 당신의 메소드는 리턴 타입 ('void')을 지정할 필요가있을 것이지만, 그렇지 않다면 위에 포함 된 것이 올바른 생각입니다. – Turix

+0

'sizeX'도 필드입니까? ('public void fill()') –

답변

3
public class Test{ 
    private int x, y, sizeX;  

    public void fill(){ 
     x=x+1; 
     if(x == sizeX){ 
      y=y-1; 
      x=0; 
     } 
    } 
} 
+0

새로운 수업을 듣고 싶지 않습니다. 메서드에서 선언하지 않고 외부 매개 변수를 사용하고 수정하는 메서드를 주 클래스에서 만들 수 있는지 묻는 중입니다. – Bogdan

+0

예제에서 변수는 메서드 내에서 선언되지 않습니다. 클래스에서 선언되며 fill() 메서드는이를 직접 사용합니다. –

+0

이 클래스 만 있습니다. "public static void main (String [] arg) {"그리고이 메서드는 해당 클래스에 있습니다. 모든 변수를 private으로 선언해야합니까? – Bogdan

0

:

메소드 선언의 결과 중 하나 메서드가 반환 (리턴 타입), 또는 에 키워드 무효를 사용하여 값 의 유형을 선언 메소드가 값을 돌려주지 않는 것을 나타냅니다.

메소드의 반환 유형을 잊어 버렸습니다. 메서드에서 값을 반환하지 않으므로 반환 유형은 void이어야합니다.

또한이 메서드는 필드가있는 클래스에 있어야합니다.

public class Foo{ 
    private int x; 
    private int y; 
    private int sizeX;  

    public void fill(){ 
     x=x+1; 
     if(x == sizeX){ 
      y=y-1; 
      x=0; 
     } 
    } 
} 
+0

나도 그걸 시도했지만, 내가 실행하면 '불법적 인 표현의 시작'이된다. – Bogdan

+0

채우기 전에 "void"를 추가하면 작동 할 것이다. –

0

HTH

public class TestMethod { 

    static int x, y , sizeX; 

    public static void main(String[] args) {   
     x = 9; 
     y = 200; 
     sizeX = 10; 

     System.out.println("x/y/sizex :" + x + "/" + y + "/" + sizeX); 
     fill();  
     System.out.println("x/y/sizex :" + x + "/" + y + "/" + sizeX);    
    } 

    static void fill(){ 
     x=x+1; 
     if(x == sizeX){ 
      y=y-1; 
      x=0; 
     }  
    } 

} 
+0

변수를 선언하고 싶지 않습니다. 메서드의 바깥 쪽을 사용하고 싶습니다. 그 메소드를 호출하기 만하면 x와 y를 수정하기 시작합니다. – Bogdan

+0

어딘가에서 변수를 선언해야합니다 – Osy

+0

변수는 주 클래스에서 선언됩니다. 그 변수를 사용하는 메소드를 작성할 수 있는지 물어 보았습니다. – Bogdan

관련 문제