2014-10-23 2 views
-1

이 오류를 정확히 수정하려면 어떻게해야합니까? 메서드를 호출"main"java.lang.error 인수에 해당하지 않습니다.

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method methodName(className[], String, int) in the type Program is not applicable for the arguments() 

    at Program.main(Program.java:43) 

내 코드의 조각 :

public class Program { 
    public static void main(String[] args) throws FileNotFoundException { 
    methodName(); 
    } 
} 

methodName로 코드 : 당신은 매개 변수의 같은 당신이 지금 통과되지 methodName로 필요로 전달해야

public static void methodName(className[] array, String stringName, int counter){ 
//Code here 
} 
+1

메소드에 전달 된 인수가 없습니다. –

+0

className [], stringName 및 counter를 전달해야합니까? – fyziqs

+0

아래 답변 중 하나라도 도움이 되었으면 수락을 고려하십시오. 이것은 당신과 응답자 모두에게 작은 명성을 줄 것이며 다른 사람들에게 당신이 해결책을 찾았 음을 나타낼 것입니다. – Akshay

답변

0

methodName은 3 개의 인수를 사용한다고 선언 했으므로 호출 할 때마다 3 개의 인수를 전달해야합니다. 그렇지 않으면이 오류가 발생합니다. 그 이유는 인수 목록과 그 유형과 함께 메소드 이름이 메소드를 고유하게 식별하는 메소드 서명이라고 불리는 것을 구성하기 때문입니다.

인수를 전달하지 않고 methodName()을 호출하려고하면 본질적으로 다른 메서드 서명 (이 경우 존재하지 않는 것)이 무엇이 잘못되었는지를 묻습니다. 이 문제를 해결하는 방법에는 두 가지가 있습니다

이 구현 methodName()

당신은 모든이 같은 인수없이 methodName()에 대한 정의를 작성할 수

:

public static void methodName() 
{ 
    // Code that does not require any parameters 
} 

그리고 당신이 호출 할 때 다음 methodName() 당신 것 여기에 작성한 코드를 얻으십시오. 실제로 methodName 세 가지 인수를 전달하면

전화 methodName(arg1, arg2, arg3)

, 당신은 당신이 "// 여기에 코드"를 표시 한 코드를 얻을 수 있습니다. 또한 세 가지 유형의 인수를 전달하지 않고 구체적으로

className[] arg1; 
String arg2; 
int counter; 

// Initialize the values to whatever you want 

methodName(arg1, arg2, arg3); 

이 예상대로 실행됩니다.

관련 문제