-
JAVA 모듈화 코드 MODULE프로그래밍 JAVA 2020. 7. 23. 22:01
앞 질문의 (a)에 대해서는, 활성화 기록의 내용을 에 표시한다.
메서드 max가 호출되기 직전에 호출 스택(max가 입력되기 직전에 입력되는 것처럼)
최대값이 반환되고, 최대값이 반환된 직후에 반환된다.
5.6 모듈화 코드
모듈화를 통해 코드를 쉽게 유지 관리하고 디버깅할 수 있으며 코드가
재사용이 있는
중복 코드를 줄이고 코드 재사용을 가능하게 하는 방법을 사용할 수 있다. 방법은 다음과 같을 수 있다.
코드를 모듈화하고 프로그램의 품질을 향상시키기 위해 사용된다.
목록 4.9는 사용자가 두 개의 정수와 디스플레이를 입력하도록 하는 프로그램을 제공한다.
그들의 최대 공약수 에 나온 것처럼 메소드를 사용하여 프로그램을 다시 작성할 수 있다.
목록 5.6.
목록 5.6 BrestCommonDivisorMethod.java
어떤 방법으로 gcd를 얻기 위한 코드를 캡슐화함으로써, 이 프로그램은 몇 가지를 가지고 있다.
장점:
1. 메인 코드의 나머지 코드로부터 gcd를 계산하는 문제를 분리한다.
따라서, 논리는 명확해지고 프로그램은 읽기 쉽다.
2. gcd 계산상의 오류는 gcd 방법에 국한되어 있어, 그 범위가 좁아진다.
디버깅 범위.
3. gcd 방식은 이제 다른 프로그램에서도 재사용할 수 있다.
Listing 5.7은 Listing 4.14, PrimeNumber.java를 개선하기 위해 코드 모듈화의 개념을 적용한다.우리는 큰 문제를 두 개의 하위 문제, 즉 숫자가 소수인지 아닌지를 결정하는 문제로 나누었다.
프라임 넘버를 인쇄하는 것. 결과적으로, 새로운 프로그램은 읽기 쉽고 읽기 쉽다.
디버그. 게다가, PrimateNumber와 isPremy를 인쇄하는 방법은 다른 사람들에 의해 재사용될 수 있다.
프로그램.
5.7 사례 연구: 십진수를 육진법으로 변환
이 절에서는 십진수를 16진수로 변환하는 프로그램을 제시한다.
번호를 매기다
컴퓨터 시스템 프로그래밍에는 흔히 육각형이 사용된다(숫자 시스템에 대한 소개는 부록 F 참조). 소수점 d를 16진수로 변환하려면
16진수를 구하다
이 16진수 자릿수는 d를 16으로 연속 나누면 그 몫이 될 때까지 찾을 수 있다.
0. 잔존자는 다음과 같으며 16진수는 다음과 같다.
10진수 0, 1, 2, 3, 4, 5, 6, 7, 8, 9에 10진수 값인 A를 더하고 B를 더하면 B를 더한다.
십진수 값 11, C, D, 13, E, 14, F, 15.
hn h . 0, h1, h2, c, hn-2, hn-1,
+ h2 * 162 + h1 * 161 + h0 * 160
d = hn * 16n + hn-1 * 16n-1 + hn-2 * 16n-2 + c
hn h0, hn-1, hn-2, c, h2, h1,
이스프라임 방식
키
포인트
192 5장 방법
예를 들어, 소수점 123은 16진수로 7B이다. 변환은 다음과 같이 수행된다.
뒤를 잇다 123을 16으로 나눈다. 나머지는 11(B 16진수)이고, 몫은 7이다.
계속해서 7을 16으로 나누어라. 나머지는 7이고 몫은 0이다. 따라서 7B는 123의 16진수다.프로그램은 소수점ToHex 방법(선 18-28)을 사용하여 소수점 정수를 a로 변환한다.
문자열로 된 16진수 메소드는 소수 정수의 나머지 분할을 얻는다.
16까지 (22호선) 나머지는 toxChar를 호출하여 문자로 변환된다.
방법 (23행). 그런 다음 문자가 16진수 문자열(행 23)에 추가된다. 육각 문자열은
처음에는 비어 있다(19호선). 십진수를 16으로 나누어서 16진수에서 16진수를 뺀다.
(24호선) 십진법ToHex 메소드는 반복적으로 이러한 작업을 루프에서 수행함
지표가 0이 될 때까지(21~25호선).
ToHexChar 방법(선 31~36)은 0에서 15 사이의 16진수 값을 16진수로 변환한다.
인격의 hexValue가 0에서 9 사이이면 (char)로 변환된다(hexValue + '0')
(33호선). 정수를 사용하여 문자를 추가할 때 문자의 유니코드가 다음에서 사용되는지 기억
평가 예를 들어, 16진수 값이 5인 경우 (char)(hexValue + '0')는 5를 반환한다. 마찬가지로, 16진수값이 10과 15 사이인 경우 (char)로 변환된다(hexValue - 10 +).
'A'(35호선) 예를 들어, 16진수 값이 11인 경우(char)(hexValue - 10 + 'A')는 B를 반환한다.
5.15 ToHexChar(5)를 호출하여 반환되는 값은? 반환 값
헥스차르(15)를 호출할 때?
5.16 10진수ToHex(245)를 호출할 때의 반환 값은? 어떻게 되십니까?
10진수ToHex(3245)를 호출할 때의 값?
5.8 과부하 방법
메소드를 오버로드하면 이름이 긴 메소드를 정의할 수 있음
그들의 서명이 다르기 때문에
이전에 사용된 최대 방법은 int 데이터 유형에서만 작동한다. 하지만 만약 당신이 필요하다면
두 개의 부동 소수점 숫자 중 최대값을 갖는 것은? 해결책은 다음 코드와 같이 이름은 같지만 파라미터는 다른 다른 방법을 만드는 것이다.
'프로그래밍 JAVA' 카테고리의 다른 글
자바에서 원을 구하기 ( 수학적 접근법) (0) 2020.07.25 JAVA VARIABLE 변수 사용과 추상화 클래스 (0) 2020.07.23 자바 breack and Continue 설명 (0) 2020.07.23 JAVA LOOP 소개 및 설명 (자바 루프) (0) 2020.07.21 JAVA 숫자 변환 Numeric conversion (0) 2020.07.21