2017-11-18 1 views
-3

내 메서드에서 매개 변수로 문자열을 가지고 있고 내가 succeded 문자열의 길이를 인쇄하려고하지만 길이가 10보다 작 으면 길이 앞에 0을 더하고 싶습니다.길이가 10보다 작은 경우 String.length 메서드의 출력에 0을 추가하는 방법은 무엇입니까?

int를 참조 할 수없는 오류가 발생했습니다.이 작업을 수행하는 올바른 방법이 무엇인지 확실하지 않습니다.

public void sendMessage(String message) throws ProtocolException { 
    physicalLayer.sendFrame("<" + "E" + "-" 
     + message.length().toString().padleft(2, '0') 
     + "-" + message + "-" + "00" + ">"); 
} 

감사

+0

원시 유형의 방법이 없습니다. 따라서 int에서 toString()을 호출 할 수 없습니다. Google은 int를 문자열로 변환하는 방법을 알려줍니다. String에는 padLeft() 메서드가 없습니다. javadoc를 읽는 대신 가상의 메서드를 호출하는 것 같습니다. 그러지 마. 그것은 당신을 아무데도 이끌지 않을 것입니다. –

+0

'message.length()'는 어떤 메소드도 가지고 있지 않은 원시 형'int'를 반환합니다. (즉,'.toString()'이 없습니다.)'Formatter' 또는'Integer.valueOf (message.length())' –

+0

나는 그것을 얻는다, 당신의 도움에 감사드립니다. –

답변

0

및 String.format ("%의 02D", message.length는())

관련 문제