저는 Java에 익숙하지 않습니다. 정말 혼란 스럽습니다.다른 클래스의 메서드 사용
두 클래스가 있습니다. 하나 (controlNumber)는 숫자에 사용되는 두 개의 int 필드를 가지며, 하나는 현재 숫자이고 다른 하나는 최대 숫자입니다 (현재 숫자가이 숫자에 도달하면 숫자가 1로 재설정됩니다). 생성자는 현재 숫자를 1로 초기화하고 max를 매개 변수로 취합니다 (최대가 100보다 작고 100보다 작은 지 확인).
나는 현재의 숫자를 반환하는 메소드, 최대 숫자를 반환하는 숫자, 최대 값을 현재 값으로 설정하는 값, 현재 숫자에 1을 더하는 값 (최대 값을 향한 값) 및 마지막으로 반환하는 값을 반환하는 메소드가 있습니다. 현재 숫자가 하나의 숫자 일 경우 앞에 "0"을 넣는 현재 숫자가있는 문자열 (5는 05가됩니다).
있으며, toString는 다음과 같습니다
이 클래스는 잘 작동합니다.
두 번째 클래스는 문제가 생기기 시작하는 곳입니다. 위 클래스의 두 필드가 있습니다. 생성자는 두 개의 서로 다른 최대 값으로 초기화합니다. 이 모든 것이 효과가있는 것 같습니다.
이제 toString 메서드가 필요합니다. 두 필드의 현재 값을 가진 문자열을 반환합니다. "/"와 "0"앞에 한 자리가 있으면 (즉, 일이 3이고 월이 11 일 경우 ' "03/11"을 반환합니다). 내 첫 번째 생각은 내가 Integer.toString과 함께 사용했던 것과 같은 것을 사용하는 것이었지만 controlNumber 클래스의 필드가 int 인 경우에도 그렇게 할 수 없다는 것이 드러났습니다. 그래서 나는 위의 (다른 클래스에있는) 내 메서드를 사용하여 내가 원하는 것 대부분을 생각했지만, 어떻게 해야할지 모르겠습니다.
나는 이해했으며 누군가 내 문제를 해결하는 방법을 찾도록 도울 수 있기를 바랍니다.
감사합니다 대단히
및
– GeorgeWChubby삼항 연산자를 사용하는 것이 그가 갖고있는 것의 큰 개선이지만 문자열을 올바르게 포맷하는 습관을 갖게됩니다. String.format ("% 1 $"+ n + "0", s); 문자열 s의 길이가 n보다 작 으면 왼쪽 패딩 된 문자열 0을 반환합니다. 그래서 n = 4 및 s = "3"이라고 말하면 리턴은 "0003"이됩니다. – bitxwise