2017-11-20 4 views
-3

내 질문에 대한 설명을 추가하려면 사용자가 입력 한 문자열의 길이를 인쇄하는 메서드가 있습니다. 나는 "안녕하세요"문자열을 입력하면 순간에 노력하고있어, 그 밖은 '05'입니다.길이가 100보다 길면 오류가 발생하도록 문자열의 길이를 어떻게 제한합니까?

100 자 이상의 문자열을 입력하면 출력은 '100', '101', '305'등이됩니다. 문자열을 100 개 이상 허용하지 않으면 오류가 발생하도록 어떻게 만들 수 있습니까?

난에 대한 conerned입니다 코드의 주요 부분은 다음과 같습니다 및 String.format 순간 ("%의 02D", message.length())

그 문자열의 길이가 10 개 미만 그것을 표시하는 경우 숫자의 infront. 예를 들어 문자열이 "안녕하세요"05 대신에 내가 바른 길에, 어떤 도움이

감사

public void sendMessage(String message) throws ProtocolException 
{ physicalLayer.sendFrame("<" + "E" + "-" + **String.format("%02d", message.length())** + "-" + message + 
    "-" + sum%100 + ">"); 
} 
+3

https://docs.oracle.com/javase/tutorial/essential/exceptions/ –

답변

-1

string.length()을 가지고, 또는 경우를 apperciated 될 것입니다 희망

5의 표시 처음 100 개 문자를 먹고 싶어 :

String first100 = s.substring(0, Math.min(s.length(), 100)); 
1

가 어떻게 그것을해야합니까 문자열이 100 개 이상이면 그래서 그 그것은 N 것 허용되고 오류가 발생합니까?

public void sendMessage(String message) throws ProtocolException, Exception 
    { 

    // Check the length and throw an Exception if more than 100 
    if (message.length()>100) 
    throw new Exception("Length is more than 100"); 

    physicalLayer.sendFrame("<" + "E" + "-" + **String.format("%02d", message.length())** + "-" + message + 
     "-" + sum%100 + ">"); 
    } 
관련 문제