Java/JAVA의 정석_문제풀이
[6-23~24]연습문제 - 메서드
Jenny_yoon
2022. 11. 6. 18:28
728x90
반응형
[6-23] 다음과 같이 정의된 메서드를 작성하고 테스트하시오.
풀이
1) max() 메서드 생성
public static int max(int[]arr) {
return max;
}
매개변수 int[]arr 을 이용한 메서드로 static 메서드임. 따라서 public static + 변수타입(int) + (매개변수) {}
2) max()메서드 내 아래 기능 생성
public static int max(int[]arr) {
if(arr==null || arr.length==0) //배열의 크기 : arr.length
return -999999;
return max;
}
3) max()메서드 내 아래 기능 생성
public static int max(int[]arr) {
if(arr==null || arr.length==0)
return -999999;
int max = arr[0]; //꼭 for문 위에 있어야함. 배열의 첫번째 값을 max로 초기화
for(int i=1; i<arr.length; i++) { //배열 2번째 값부터 비교시작
if(arr[i]>max)
max = arr[i]; } //max에 최대값 비교 후 저장
return max;
}
정답
package pkg1;
public class Ex6_23 {
public static int max(int[]arr) {
if(arr==null || arr.length==0)
return -999999;
int max = arr[0];
for(int i=1; i<arr.length; i++) {
if(arr[i]>max)
max = arr[i]; }
return max;
}
public static void main(String[] args) {
int[] data = {3,2,9,4,7};
System.out.println(java.util.Arrays.toString(data));
System.out.println("최대값:"+max(data));
System.out.println("최대값:"+max(null));
System.out.println("최대값:"+max(new int[] {}));//크기가 0인 배
}
}
[6-24] 다음과 같이 정의된 메서드를 작성하고 테스트하시오.

풀이
1) abs()메서드 생성
public static int abs(int value) {
return ;
}
2) abs()메서드 내 기능 삽입
public static int abs(int value) {
return Math.abs(value);
}
나는 구글링을 해서 절대값을 반환하는 함수를 찾아 넣었다. 이렇게 해도 올바른 실행결과가 나옴!
하지만 책의 정답은 다름.
정답
public static int abs(int value) {
return value >=0 ? value : -value ;
}
728x90
반응형