2017-10-15 4 views
-1

"rövarspråket"과의 사이에서 문자열을 변환합니다. 모든 자음이 복제되고 그 사이에 "o"가 삽입됩니다. 모음, 숫자 및 기타 문자는 그대로 유지됩니다. "rovar"는 "rorovovaror"가됩니다.final 클래스에서 main 클래스로 정적 메서드를 호출하려면 어떻게해야합니까?

public final class rovar 
{ 

    public static String lower_consonants = "bcdfhjklmnpqrstvwxz"; 
    public static String upper_consonants = "BCFGHJKLMNPQRSTVWXZ"; 

    public static String enrov(String normal) 
    { 
     if (normal == null) 
      return null; 
     StringBuilder builder = new StringBuilder(); 

     for(char c : normal.toCharArray()) 
     if (lower_consonants.contains(String.valueOf(c))) 
      builder.append(c + "o" + c); 
     else if (upper_consonants.contains(String.valueOf(c))) 
      builder.append(c + "O" + c) ; 
     else 
      builder.append(c); 

     return builder.toString(); 
    } 

    public static String derov(String rov) 
    { 
     if (rov == null) 
      return null; 

     for(char c : lower_consonants.toCharArray()) { 
      String find = (String.valueOf(c) + "o" + String.valueOf(c)); 
      rov = rov.replace(find, String.valueOf(c)); 
     } 

     for(char c : upper_consonants.toCharArray()){ 
      String find = (String.valueOf(c) + "O" + String.valueOf(c)); 
      rov = rov.replace(find, String.valueOf(c)); 
     } 
     return rov; 
    } 
} 

이제이 프로그램을 컴파일하고 싶습니다. 그러므로 주 클래스를 만들고 클래스의 새 인스턴스를 만들고 두 메서드를 호출하려고했습니다.

public class RovarMain { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     rovar r = new rovar(); 
     r.enrov(); 
     r.derov(); 

    } 

} 

문제는 내가 그 메소드 호출에 대해 수행 할 수있는 인수 모르겠습니다입니다. 코드 표시 오류의 위의 두 줄이 때문에 : 유형 rovar의 방법 enrov (String)를 인수() 두 사람으로

+1

오프 주제 참고 : 링크는 C#을 정적 방법에 관한 것입니다,하지만 난 자바는 생각 그냥 클래스 이름과 함께 공개 정적 메서드를 호출해야합니다 – rkosegi

+0

자바 명명 규칙을 배우십시오 똑같다. https://stackoverflow.com/questions/35568120/having-trouble-calling-a-public-method-in-a-static-method/35568241#35568241 – Jaycee

답변

0

적용되지 않습니다 당신이 목적없이 호출 할 수 있습니다 정적 방법이 있습니다. 그리고이 두 가지 방법 모두 매개 변수를 사용합니다. 주요 방법에 대한 코드 예제 :

rovar.enrov("PARAMETER_1"); rovar.derov("PARAMETER_1); 
+0

Md khirul ashik, 답변 해 주셔서 감사합니다. 필자의 주요 포인트는 필자의 경우 매개 변수가 될 것입니다. (rover.lower_consonants) & (rover.upper_consonants) 일 수 있습니까? –

+0

두 기능 모두 대문자와 소문자를 확인하고 있습니다. 사건을 바꾸면 안됩니다. 매개 변수 값에 둘 다 포함될 수 있습니다. 또는 대문자로 보내고 두 기능 모두 소문자인지 확인하지 않아도됩니다. –

+0

Md khirul ashik, 솔직히 말해서 내가해야 할 일을 이해하지 못했습니다. 현재 내 변수 (예 : 개인 정적 문자열 lower_consonants ...)가 '비공개'로 설정되어 있습니다. 변수를 다른 클래스의 매개 변수로 사용하려면 어떻게해야합니까? 그것은 다음과 같이 될 것입니다 : Rovar.enrov (Rovar.lower_consonants, Rovar.upper_consonants); ? –

관련 문제