728x90
반응형
문제
public interface ArrayInterface {
//int array[]={3,5,2,4,1};
//배열의 가장 큰 값과 작은 값의 차이
int MaxSubMin(int[] a);
//배열의 가장 큰 값을 구해 맨 마지막 값과 위치 바꾸기
void MaxChange(int[] a);
}
- 인터페이스 ArrayInterface의 추상 메소드를 모두 구현한 클래스 ArrayClass를 작성하시오.
- 배열의 가장 큰 값과 작은 값의 차이를 반환하는 MaxSubMin 메소드와 배열의 가장 큰 값을 맨 마지막 값의 위치와 변경하는 MaxChange 메소드를 오버라이딩하여 작성하시오.
▶ ArrayClass코드
public class ArrayClass implements ArrayInterface{
//배열의 가장 큰 값과 작은 값의 차이 구하기
@Override
public int MaxSubMin(int[] a) {
int MaxIndex=0, MinIndex=0;
for(int i=1;i<a.length;i++){
if(a[MaxIndex]<a[i])
MaxIndex=i;
if(a[MinIndex]>a[i])
MinIndex=i;
}
return (a[MaxIndex]-a[MinIndex]);
}//MaxSubMin_end
//배열의 가장 큰 값을 맨 마지막 값과 위치 바꾸기
@Override
public void MaxChange(int[] a) {
int MaxIndex=0, temp;
for(int i=1;i<a.length;i++)
if(a[MaxIndex]<a[i])
MaxIndex=i;
temp=a[MaxIndex];
a[MaxIndex]=a[a.length-1];
a[a.length-1]=temp;
}//MaxChange_end
}
▶ main 코드
ArrayClass a = new ArrayClass();
int array[]={3,5,2,4,1};
System.out.println("배열:"+Arrays.toString(array));
//배열의 가장 큰 값과 작은 값의 차이
System.out.println("배열의 가장 큰 값과 작은 값의 차이:"+a.MaxSubMin(array));
//배열의 가장 큰 값을 맨 마지막 값과 위치 바꾸기
a.MaxChange(array);
System.out.println("배열의 가장 큰 값과 마지막 배열 값의 위치 변경:"+Arrays.toString(array));
▶ 출력 결과
배열:[3, 5, 2, 4, 1]
배열의 가장 큰 값과 작은 값의 차이:4
배열의 가장 큰 값과 마지막 배열 값의 위치 변경:[3, 1, 2, 4, 5]
[JAVA] 추상 클래스와 인터페이스 실습 (15일차)
1. 추상 클래스 2. 인터페이스 3. 패키지 4. Object 클래스 5. Wrapper 클래스 6. String 객체 7. Math 클래스 1. 추상클래스 ▶ Calculator 코드 public abstract class Calculator { public abstract int add(int a, int b); public abstra
deliciouscode.tistory.com
728x90
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[JAVA] 해시맵 심화 문제 풀이 (17일차) (0) | 2023.06.08 |
---|---|
[JAVA] 해시맵 실습 (17일차) (0) | 2023.06.08 |
[JAVA] 과일 예제 (업캐스팅/다운캐스팅) (0) | 2023.06.01 |
[JAVA] 심화 문제 풀이 (14일차) (0) | 2023.06.01 |
[JAVA] TV 상속 (0) | 2023.05.31 |